Fundamentals of software engineering using a group project as the basic vehicle. Topics covered include managing complexity, requirements specification, architectural and detailed design, testing and analysis, software process, and tools and environments.
The class meets three times a week for lectures and once a week for section. Classroom material is enhanced with assigned readings from the text and supplemental papers. A major component of the course is teamwork on group projects. Individual work includes reading summaries and homework, and a final exam.
The required textbooks are