Software engineering ethics. The relationship between language, grammars, and automata. Deterministic and nondeterministic machines. Pushdown automata and turing machines. The limits of computability.
Students working in teams implement a local area network system.
An integrated hardware-software approach is emphasized. Computer organization and assembly language programming, system and data management macros. Design of various types of computer system software, including assemblers, loaders and monitors. Introduction to macro processors, compilers, and operating system features. Emphasis on relationships between machine architecture and software.