The topics covered include models of the software process and methods for design. Emphasis is placed on the underlying concepts, the methods widely used in practice, and the alternatives being explored. Speed is a function of architecture, technology, software, and algorithms. We observe their impact on and interplay with technology, software, and algortihms. This course covers the design, implementation and interpretation of agent-based simulations and the use of adaptive programming techniques, such as genetic algorithms, in such simulations.
Course work includes significant practical implementation experience.
This course covers the fundamental topics related to operating systems theory and practice. Course work includes the implementation of operating systems techniques and routines, and critical parts of a small but functional operating system. The main goal of this course is to gain expertise in object-oriented design and implementation. The primary coursework is a large team programming project. Students will learn how to work as a team to produce well-structured designs and implementations.