Software Engineering

With appologies to Sun Tzu

Course Objectives

When the term Software Engineering was coined (over fifty years ago), it was defined as:

Students in this course are assumed to have a good understanding of programming and exploiting the features of programming languages and libraries.
But interesting software is sufficiently subtle and complex that it is not usually possible to sit down, think about it for a few minutes, and start coding.
Building working software requires tools, discipline, and methodology.
This is a course in software development concepts, issues and methodologies, whose goal is to develop:

This is a very practical course dealing with real-world problems, the issues that complicate them, and the approaches that have been successfully applied to their solution. There is a moderate amount (averaging ~40pp) of relatively straight forward reading for each lecture. The large (full semester) team projects have weekly deliverables, and will require a great deal of time and work.

Instructor: Mark Kampe

The reading, lectures, projects, and exams are all designed around a large set of detailed learning objectives. In addition to giving students a detailed overview of the material to be covered in this course, this list is an excellent starting point for exam study.

Assumed Student Background

Assigned Readings

Lecture Sessions

Quizzes

Exams

Projects

Grading

Academic Honesty:

Last updated: "Jan 13 2024"




For information about these pages, contact Mark Kampe.