Overview

This course is an introduction to software engineering, and a chance to exercise the techniques and methods learned in a software development project. Software engineering is concerned with the analysis, design, implementation, and maintenance of software systems that are developed for clients who are not part of the team developing the system. This course focuses on implementation techniques, analysis and design heuristics, and best practices that have proved useful in making this process rigorous, systematic, repeatable, and manageable. Students will be introduced to current methods and technologies and will apply these techniques to programming and design projects.


Click here for an overview of the site
Click on Topics for the course materials, organized by topic
Click on Calendar for the course notes, in chronological order