Lecture plans

Week-by-week lecture plans, with links to course slides and notes.

Current week

Week 01 - Introduction, Design thinking

Welcome to the course! We have a lot of material to cover in the first few weeks so it’s important that you attend class. Please email the instructor or post on Piazza if you have questions.

Wed

Lectures

Fri

Lectures

Outside of class

Your project goals this week are focused on finding a project team!

TODO List - Week 1

  • Quiz 1 opens this week, covering all Week 01 content. It will be available in Learn starting Friday @ 6:00 PM, and you have one week to complete it. The deadline to submit it is Fri Jan 17 @ 6:00 PM.

Week 02 - GitLab, Kotlin

How to setup your GitLab project. Getting started with Kotlin!

Wed

Lectures

Fri

Lectures

Outside of class

You should complete your project setup. This is due Friday.

Once that is done, you should start working on your project proposal. This is the first part of the Design Thinking process, and involved identifying and interviewing users, creating personas and extracting user stories.

TODO List - Week 02

  • Submit your project setup.
  • Start working on your project proposal. Start early!
  • Quiz 1 closes this week. Make sure it’s submitted before Fri @ 6:00 pm.
  • Quiz 2 opens Friday @ 6:00 pm and remains open for a week.

Week 03 - Gradle, Architecture & Design

How build systems work and how to configure Gradle to build your project. How your application should be structured; benefits of “good design”.

Wed

Lectures

Fri

Lectures

Outside of class

Review project setup feedback in Learn. Things to watch out for:

  • Projects should open to the README.md file. It’s supposed to be the landing page and act as a TOC for other documents.
  • Project documentation content should be stored in Wiki pages. If you need images, attach them directly to the document. Please don’t attach external files as links to Wiki pages e.g., Word documents.

Submit your project proposal. This is due Friday.

Start working on your design proposal! This continues from your project proposal and provides details on your proposed solution, including low-fidelity prototypes of your screens.

TODO List - Week 03

  • Submit your project proposal by Friday @ 6:00 pm.
  • Quiz 2 closes this week. Make sure it’s submitted before Fri @ 6:00 pm.
  • Quiz 3 opens Friday @ 6:00 pm and remains open for a week.

Week 04 - User interfaces, Applications

How to build user interfaces for desktop and mobile applications using Compose.

Wed

Lectures

Fri

Lectures

Outside of class

Review project proposal feedback. TAs have finished grading and will have provided feedback that you should consider.

Submit your design proposal, which is due Friday.

  • Make sure to address feedback from the project proposal.
  • You will have some time in-class to work on this.

(Optional) Prepare for project kickoff in Week 05!

  • Create issues in GitLab for each of your requirements.
  • At the start of Week 05, you will plan the release. This includes collectively making decisions on what to implement for the upcoming iteration, and assigning work (i.e., issues) to team members.

TODO List - Week 04

  • Submit your design proposal by Friday @ 6:00 pm.
  • Quiz 3 closes this week. Make sure it’s submitted before Fri @ 6:00 pm.
  • Quiz 4 opens Friday @ 6:00 pm and remains open for a week.

Week 05 - Unit testing, Project kickoff

How to add unit tests to your project; planning for Demo 1.

Wed

Lecture

Sprint 1 Kickoff - slides

  • This is the kickoff for your first iteration!
  • You will choose which features to work on for the next two weeks,
  • Work towards a demo of these completed features to your TA on Fri Feb 14 (see the team schedule for details).
  • For further details, see:

Fri

Open class

  • There are no planned lectures or activities.
  • The entire class time is meant for you and your team to work on your project.
  • Jeff will be in class to help if you need it! When not answering questions, he’ll be live coding changes to his courses project. Plans for today include:

Here’s another sample that demonstrates setting up the MVVM structure: my TODO application from last term.

TODO List - Week 05

  • Quiz 4 closes this week. Make sure it’s submitted before Fri @ 6:00 pm.
  • Quiz 5 opens Friday @ 6:00 pm and remains open for a week.

Week 06 - Databases, Demo 1

How and why to use relational (and document) databases.

Wed

Lecture

Fri

Demo day!

  • Demos are conducted in your scheduled classroom.
  • See the online schedule for your team’s exact time, and plan to be here 5 mins early.
  • Follow the coding & demo guidelines:
    • You need to have a software release built, and you should plan on demoing your application from one of your team’s computers.
    • Everyone on the team must attend the demo in-person (unless you have coordinated with me ahead-of-time).

TODO List - Week 06

  • Quiz 5 closes this week. Make sure it’s submitted before Fri @ 6:00 pm.
  • Quiz 6 opens Friday @ 6:00 pm and remains open until Fri Feb 28 @ 6:00 pm. You get an extra week so that nothing is due during reading week!

Week 07 - Reading Week!

Enjoy your week! We’ll kickoff Sprint 2 when we return on Wed Feb 26th.

Beach

Week 08 - Data formats

Wed

Lecture

Sprint 2 Kickoff

Demo 1 feedback

Make sure to review feedback in Learn > Submit > Dropbox.

Broad feedback:

  • Follow the guidelines. Make sure you keep GitLab and issues lists up-to-date.
  • Make sure that you have something to demo! User-facing features are best but if that’s not feasible, show us unit tests or diagrams, or … Do NOT show us code in the demo.
  • Write unit tests for your work. They don’t have to be complete, but you should make a reasonable effort (and continue adding tests as the project progresses).
  • Each person must demo their own work. You cannot have one person present everything.

Fri

Open class

  • There are no planned lectures or activities.
  • The entire class time is meant for you and your team to work on your project.
  • Jeff will be in class to help if you need it! When not answering questions, he’ll be live coding changes to his courses project. Plans for today include:

TODO List - Week 08

  • No team deliverables this week!
  • Quiz 6 closes this week. Make sure it’s submitted before Fri @ 6:00 pm.
  • Quiz 7 opens Friday @ 6:00 pm and remains open until Fri Mar 7 @ 6:00 pm.

Week 09 - Web Services, Demo 2

How to access web services/APIs. Using hosted services.

Wed

Lecture

Info

Wed Mar 12: the morning class will be moved to AL 116.

Fri

Demo day!

  • Demos are conducted in your scheduled classroom.
  • See the online schedule for your team’s exact time, and plan to be here 5 mins early.
  • Follow the coding & demo guidelines to prepare.
  • Everyone on the team must attend the demo in-person (unless you have coordinated with me ahead-of-time).

TODO List - Week 09

  • Quiz 7 closes this week. Make sure it’s submitted before Fri @ 6:00 pm.
  • Quiz 8 opens Friday @ 6:00 pm and remains open for one week.

Week 10 - Concurrency

Wed

Lecture

Room change

The Wed 10:30 AM lecture will be held in AL 116 for this week only. The remaining lectures are held in their regular rooms.

Sprint 3 Kickoff

Fri

Open class

  • There are no planned lectures or activities.
  • The entire class time is meant for you and your team to work on your project.
  • Jeff will be in class to help if you need it! When not answering questions - if the projector cooperates - he’ll be live coding changes to his courses project.

TODO List - Week 10

  • No team deliverables this week!
  • Quiz 8: Web services closes this week. Make sure it’s submitted before Fri @ 6:00 pm.
  • Quiz 9: Concurrency opens Friday @ 6:00 pm and remains open until Fri Mar 7 @ 6:00 pm.