Analysis of multi-user operating systems including hardware and software requirements. Comparison of differing types of scheduling and memory allocation routines. Analysis of system deadlocks and their prevention. An introduction to data base management systems that includes a comprehensive introduction to object-oriented analysis and design methods for database systems. The mapping from an object to a an ER model to a relational model is covered.
Data normalization is covered.
The course goes into depth in transaction management, concurrency control, and recovery techniques. Large e.g. projects are presented and thoroughly covered. An introduction to the contemporary top-down approach of designing hardware for digital systems. Stress is placed on understanding the problem and developing a systematic solution for the systems' data path architecture and its sequential control circuits . The complete hardware design of a simple digital computer is covered within the course.