CS 380 or 383 and 476 or the equivalent. Data structuring principles of use in a wide variety of problem solving areas are covered. Alternatives are considered with respect to utilization of storage and time. CS 380 or 480, and senior standing. Pragmatic aspects of the production of software systems, dealing with structuring principles, design methodologies and informal analysis.
Emphasis is given to development of large, complex software systems.
A term project in usually required. CS 380 and 381, or equivalent. Students write several substantial programs dealing with concurrency and synchronization in a multitask environment. Introduction to compiling techniques including parsing algorithms, semantic processing, and optimization. Students implement a compiler for a substantial programming language using a compiler generating system.