An introduction to the dimensions of modern programming languages. Topics include syntax, naming, state, data, control, concurrency, non-determinism, and types. See the CS251 Home Page for course syllabus and additional information. Topics include lexical analysis, the theory of parsing and automatic parser generators, semantic analysis, code generation, and optimization techniques. See the CS301 Home Page for course syllabus and additional information.
Emphasis is placed on asymptotic analysis of the time and space complexity of algorithms.
Topics will include fast algorithms for combinatorial problems, introduction to complexity theory and the theory of NP-complete problems. Constance Royden A survey of topics in computer graphics with an emphasis on fundamental techniques. Students learn how to design graphics displays using a computer graphics software package. See the CS 307 Home Page for course syllabus and additonal information. This course is a broad introduction to parallelism that studies problem solving using a large number of cooperating processing elemnets.