Switching and Sequential Systems. CS 270 and CS 303, and senior or graduate standing. An introduction to the theory of switching networks and sequential systems. Switching functions and realizations, threshold logic, fault detection, connectedness and distinguishability, equivalence and minimality, state identification, system decomposition. 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 is usually required. Introduction to Operating Systems. CS 370, CS 380, and CS 381. Students write several substantial programs dealing with concurrency and synchronization in a multitask environment. CS 370, CS 380, and CS 381.