This course is an introduction to the theory of computing. The software process is a collection of activities that begins with the identification of a real-world problem and concludes with the retirement of the software product that responds to it. In this context, design involves the modeling of the problem domain with the specification of a software-supported solution, the transformation of that solution into product design, and the realization of that design as an implemented product. 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.