Software Engineering

Iteration 0: Group Formation

Due on September 17th at 11:59 PM.

The master branches of your group’s repository and wiki will be pulled at that time and its contents will be graded. Be sure that all materials – documentation, code, build instructions, etc. – are available in that repository. If some materials cannot be placed in that repository, contact your instructor for instructions on how to compensate.

Please be sure to follow appropriate etiquette when interacting with your group.


Your task during this iteration is to form a group and develop a basic idea for your project. Your group must consist of four or five students. For more information about the requirements for your group project, please see the projects summary page.

Your tasks during this iteration are as follows:

Project Idea

The work to be done on this iteration is primarily conceptual. Brainstorm with your group about the kinds of software you might want to write. Is there a problem you’d like to solve? Is there some program you’ve always wanted to write? Don’t worry too much at this point about exactly how you’ll solve the problem or how much work it will be; for many students, this software project will be larger than anything they have worked on in the past. Some things to keep in mind:

Examples of previous projects in similar courses include:

Your idea can be from one of the above categories or it could be something completely unrelated. Hopefully, the above examples give a sense of scale.

Project Meeting

To complete Iteration 0, you must schedule a brief meeting with the course instructor. All of your group members will need to attend. This meeting will take between five and ten minutes. Meetings during office hours are acceptable; you can also schedule a time that works best for all of you. During this meeting, you will pitch your idea and receive feedback.

Your instructor must approve your proposal. This approval is not contingent upon the topic of your project (except that the topic must be appropriate for class) but is contingent upon being an appropriate size and degree of difficulty. If you are concerned about these points, you can seek feedback from your instructor beforehand. Most proposals are approved, although your instructor may suggest that you shrink or expand the scope of your project to fit the semester.

Even if you discuss your proposal with your instructor, the meeting is still required. Your instructor needs to meet you as a group to discuss the topic.

Vision Statement

Once your idea is approved, you will receive access to a Swarthmore GitHub repository. Your group should develop a one or two paragraph statement of what your purpose is in developing your application. Here is an example vision statement written by a previous student project group:

We will develop a web-based user interface that allows service providers (such as dance instructors, personal trainers, massage therapists, tutors) to record the periods of time during which they can book clients. The interface, in turn, allows clients to book time periods, and to cancel time periods based on the service agreement’s rules (which are specified by the service provider). The goal of the web interface is to allow business to be conducted digitally to save both parties time in the booking process.

Your vision statement should be clearly identified on the homepage of your project repository’s wiki.