Software Engineering


Each student in this course will be a member of a project group. Each group will complete a software engineering project over the course of the semester. The purpose and design of this software will be decided by the group. The instructor’s role is to guide the students in completing these projects from start to finish. Students who complete this course will be equipped with the skills necessary to organize and execute other software engineering projects in the future.

Project Structure

For reasons of both course organization and software engineering discipline, the projects in this course will follow these guidelines:

Software Structure Requirements

To ensure that your projects are well-structured and that you have the resources and assistance necessary to succeed, group projects are limited in their software structure:

You may wish to refer to a list of Frequently Asked Questions regarding these projects.


As mentioned above, the project schedule consists of iterations, each of which takes roughly two weeks. The iterations are as follows:


Being a good software developer also means being able to communicate your accomplishments and goals to clients, managers, and peers. The presentation component of the projects helps to give you practice in this area.

There are two project presentations. The Overview Presentations are conducted during class and presented to your classmates. The Final Presentations are held in lieu of your final exam and presented only to your instructor. Please see these links for more information.