Arithmetic, floating point. Analysis of the space complexity of the data structures and of the time complexity of the associated algorithms and the trade off between them. Students will implement the various data structures in a series of programming assignments. The process model of computation, the producer consumer problem. The C programming language.
System Calls and interprocess communication.
The OSI network model. Sockets and Remote Procedure call. Application of these ideas to the construction of compilers and other language translation software. The course will include programming projects that will illustrate the major features of compiler construction. The course will cover the concepts and structures necessary to design and implement a database management system.