Total credit cannot exceed 6 hours for any combination of computer science courses Y390, Y391, Y398, Y399, C390, and C391. Algorithm design methodology. General methods for analysis of algorithms. Analysis of the performance of specific algorithms, such as those for searching and sorting. Compiler design and construction, including lexical analysis, parsing, code generation, and optimization.
Extensive laboratory exercises.
Organization and construction of computer systems that manage computational resources. Topics include specification and implementation of concurrency, process scheduling, storage management, device handlers, mechanisms for event coordination. Lecture and laboratory. Theory and practice of data communication between computing devices. Organization and logic design of digital systems.