index.htm
CSCI 383
Theory of Computer Science
Spring, 2006
CS 383 is a course on the mathematical theories of computation. The course covers three quite different themes:
- Mathematical descriptions of languages and grammars, and categorization of languages according to how they can be mathematically described. This is the underpinning of several areas of computer science, in particular the study of compilers.
- Discussions of which problems can be solved algorithmically.
- Categorization of problems according to how efficiently they can be solved.
Some of the major ideas in the course predate computers themselves, going back to Allen Turings 1937 proof that the Halting Problem is not algorithmically solvable. This is largely a mathematics course. There will be no required programming assignments. Nevertheless, there are many ways in which this material will deepen your abilities as a programmer. There are also many places in the course in which coding the algorithms we discuss might expand your understanding of them.