Functional and multivalued dependencies, normal forms, tableaux. Writing programs to update a database. Distributed database systems. A study of database applications, that is, software systems that solve a particular real-world problem and hold their data in a relational database. The systems under study also have a realistic user interface.
Students work in small groups on a real-world project specified and implemented during the term.
Topics include system specification from user needs, analysis of data flow and work flow, object design, database design, client-server techniques, and rapid prototyping systems. Attention is given to the use of queuing theory models for understanding and predicting computer operating system performance. Operating Systems Structure and dynamics of operating system software. Memory management, scheduling, concurrency, consideration, device drivers. UNIX as a major example.