Course Structure

In this course, you will form teams of four people, and together you will design, build and deliver a commercial-quality application! We will use an interative development model where you will deliver functionality at scheduled intervals through the term.

Course Structure

Lectures are M/W/F, either in the morning or afternoon. Your team must all be registered in the same section, and you may only attend your scheduled sections.

Morning (Jeff, Xiaoyan, Licheng) Afternoon (Jeff, Xiaoyan, Constant)
Mon 10:30 - 11:20 (MC 4063) - LEC 001 2:30 - 3:20 (MC 4060) - LEC 002
Wed 10:30 - 11:20 (MC 4063) - LEC 001 2:30 - 3:20 (MC 4060) - LEC 002
Fri 10:30 - 12:20 (MC 4058) - LAB 001 2:30 - 4:30 (MC 4058) - LAB 002

Although listed as LAB sessions, Fridays are mandatory. Most weeks, we’ll use Fridays as a regular 50-min class, but we’ll occasionally need to extend Friday class into the second hour for project demos1.

We’re using a flipped classroom model, where a large portion of classtime will be spent working on your projects. This provides us with more opportunties to interact and help you with your projects. Consequently, you will be expected to prepare for class by watching videos or reading ahead of time to balance this out.

Flipped classroom model

What do I do outside of class?

Lecture videos and readings will be posted at the start of the week. You should watch these on your own. We’ll recap at the start of each in-person lecture to make sure you know what you should be working on that week.

What do we do in class?

In-person lecture times are meant to be a time for you and your team to work together in specific areas of your project. Typically, we will do one of more of the following:

  • The instructor will review the lecture topic (which you should have already watched), and explain what you should be working on that class.
  • You will sit with your team, and together you will work on one or more project activities e.g. asking the TAs to help define requirements, or fixing a bug that you encountered during testing.
  • The instructor and TAs will be available to help you with any questions.

Time Commitment

Class time will probably not be sufficient to complete this project, some time outside of will need to be dedicated towards completing it. The time commitment for this course should be comparable to other third year courses – approximately 10 hours per week split between lectures and activities outside of the classroom.

Estimated Time Breakdown Per Week

Activity Hours / Week
Watch lecture videos, take notes 2
Attend class and work with your team 3
Review lectures and write quizzes 1-2
Additional project time 2-3
TOTAL 8-10 hours

It is critically important that you do not fall behind, since deliverables from week will be used in the next week’s activities. Also, due to the course structure, there are no extensions for missed demos or submissions. Please plan your time carefully!


  1. It will be very clear to you when we have to use the full 2 hours on a Friday, because you will have a demo to present to the instructor/TA on that day! This won’t happen until a few weeks into the course. ↩︎