An introductory course on Software Engineering

View on GitHub

Course project: Project proposal


  1. Develop an exciting product idea with a team partner. As you develop your idea, think about the customer’s point of view and consider the feasibility and novelty of your product.
  2. Present your idea with your team partner to the class.
  3. Peer-review the project entries assigned to you.
  4. View other groups’ proposals and rank them (including your own) by which project you would prefer to work on.
  5. The staff will use these rankings to organize project teams (taking into account project and team-member preferences).


You’ll be assigned to a random group of two students via Canvas.

Detailed Instructions

JOB 1 (Create Proposal)

1. Write a 1-2 page proposal document (PDF)

2. Record a 2-3 minute slideshow presentation

3. Submit your proposal

DEADLINE: First thing on second week (check calendar)

  1. TEAM: Zip your two PDF files (proposal document and slide deck) into a file named ProjectName_LastName1_LastName2.zip and upload it to the PP1.1 Canvas assignment with the link to your YouTube presentation in a comment to your Canvas submission.
  2. INDIVIDUALLY: YOU DON’T HAVE TO DO THIS ANYMORE!!! submit the name of your project proposal in the Canvas **PP1.2 assignment** (this will only trigger the peer-review assignment.)
    1. Write an abstract of at most 3 sentences that states the goal, approach, and technology of your project.
    2. Submit your project’s title, video link, and abstract, plus the names of both team members to THIS FORM. (This populates the project proposals spreadsheet, visible to the entire class and used bellow.)

JOB 2 (Review Proposals)

DEADLINE: Mid-second week (check calendar)

4. Peer-review assigned project proposals

5. Consider other project proposals and fill out a survey with you preferences

OBS.: The 403 staff will use the results of the form to assign you to a project team. If you already have a team in mind, you’ll have an opportunity in the form to specify that (full instructions are in the form).


Will my grade depend on whether my project is chosen?

No. Your grade is not based upon whether your project is chosen (by other students or by the 403 staff) to be implemented. Rather, your grade is based on the quality of your materials and your presentation. We will be evaluating whether you have addressed the identified project elements, made reasonable judgments concerning them, and organized and presented your proposal well.

What is an interesting project?

It is essential to clearly indicate the problem, and why it matters to potential users of your system. For example, how will the system change the way they perform some task? Too often, this most important bit is missing in proposals. Only after that is it worthwhile to say that the project will be possible (or even fun) to build.

Do I have to work on the project that I proposed?

No. Your ranking does not have to include your own proposal, if you are more excited about other teams’ ideas. Also, you can split up your proposal team and work with a different group for the class project.

How many people can work together on a project?

We will aim for groups of 4-6 students per project. If a project proposal is particularly popular, it is possible that more than one group can work on the same project idea – with a different focus or technical approach.

How will you create the project groups?

What do you mean by discussing our vision?

Try to focus on important questions about the addressed problem and possible impacts of your solution rather than technical details of that solution: What is your product, at a high level? Whom is it for? What problem does it solve? What alternatives are available? Why is this project compelling and worth developing?

What is a competitive analysis?

You should spend nearly as much time understanding what already exists as you do coming up with something new. For example, don’t propose to develop a web search engine without knowing that Google exists.

Clearly explain what differentiates your project from the alternatives. Differentiate the top-level objectives, target customers, scope, and technical approach of your product from existing, alternative products. Indicate what is novel about your proposed features. Don’t belabor features that are standard in existing packages.

Also, indicate how the proposed project poses interesting design (or other) challenges from a software engineering point of view.

What does it mean to pitch an idea at a higher level?

Don’t dive into too many technical details in your project pitch. You can say a few words about the underlying technology, but your first priority should be to convince the staff and the class that the project is interesting and solves an important problem.

Remember that this delivery is the basis for the class to decide which products to develop and deliver this quarter.

Any advice regarding writing and presentation?

Excellent question! Here are some tips: