Thursday, March 10, 2005

Fusion of subjects and ideas to solve problems

I always suspected that a lot of the fields/subjects in Computer Science and Math could be related to each other in some way, as well as, compliment each other on ideas.

Unfortunately a lot of the times this is not made explicit in the University courses. For some reason it is rare to see courses present applications of the ideas and make it clear that these applications use ideas/theories from other fields in CS/Math, to construct a global picture, instead they tend to isolate the subject on its own and leave the combination or fusion of subjects for each person individually.

In my last semester at university, I was lucky enough to take courses that were related in some way and allowed me to see how ideas from one field could be used to build solutions to problems in another field.

For instance,
  • Cryptography is useful for security in Distributed Systems, as well as in Database Systems: all three of the courses I'm taking right now.
  • Computer Architecture, another course I'm taking, presents many great ideas (eg. caching techniques/optimizations, distributed memory, pipeline, bypass pathos, etc) all of which can be used in some way in solutions to distributed systems problems.
  • Methods from database system implementations (eg. concurrency solutions, transaction handling, indexing, external sorting, etc) all have applications in distributes systems: especially in distributed file systems.
  • I've realized that Graph Theory can be used to analyze and construct fault-tolerant distributed systems, for instance: message propagation can be guaranteed in face of faulty nodes in k-connected graph networks, a k-connected network can be dynamically constructed with little or no configuration, etc.
  • Some ideas from AI and its subfields can also be used in distributed systems.
  • There is of course a strong notion of Computer Networks and Operating Systems present in distributed systems as well.
  • ...

I believe it is useful to be able to connect more and more of these fields together to form a set of tools that can be used to solve problems in different fields: especially distributed systems.

0 Comments:

Post a Comment

<< Home