A sizable programming project is required. Spring, odd numbered years. Operating Systems and Concurrent Programming. A survey of the issues involved in the design and implementation of modern timesharing, multitasking systems. Topics covered include scheduling algorithms, synchronization problems, memory management, and file management.
Students partially write their own operating system.
A survey of the issues involved in the design and implementation of programming languages. Topics include storage of arrays and lists, recursive descent parsing, memory allocation, and garbage collection. Students may earn credits for field experience in computer applications. Credits must be pre-arranged with the director of the concentration. Exploring the issues related to the design and implementation of programming language translators including formal grammars and parsing, semantic definitions and semantic processing, run-time storage management and symbol tables, error recovery, code generation, and as time permits optimization of compiled code.