Investigation of general techniques for the design and the mathematical analysis of different classes of algorithms. Computer Science 203 and Mathematics 200. Operating systems are the software systems that both control the operation of the computer and provide the interface between the user and the computer. The principles and theory of operating systems are studied from both a theoretical and a practical viewpoint. Particular emphasis is on issues of concurrency, processes and their interactions, management of computer resources, and operating systems design.
Database systems are the software systems used to manage large volumes of data.
The principles of database systems, hardware characteristics, file organization and evaluation, data models, database schemas, etc. are studied from both a theoretical and practical viewpoint. The emphasis is on solving the problems encountered in designing and using a database system, regardless of the underlying hardware and operating system. Selected topics in computer science reflecting the interests and experience of the instructor. Content varies, and the course may be elected more than once with different topics. Presentations by the participants on selected topics, with occasional guest speakers.