The topics 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 algorithms. 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 topic of this course is gaining expertise in object-oriented design and implementation. The course work includes a large team programming project. Students will learn to work as a team and to present design documents both orally and in writing.