Weekly Schedule

Overview

This schedule shows the planned lecture topics and project activities by week. This is subject to revision through the term.

Week Dates Lecture Topics Project Phase Goal
Week 1 Jan 5 - 7 Introduction; Software process Introduction Team formed
Week 2 Jan 10 - 14 Project Planning; Requirements; Kotlin 1 Planning & Requirements Requirements
Week 3 Jan 17 - 21 Architectural characteristics; Architectural patterns; Diagrams; Kotlin 2 & 3 (OO Kotlin) Analysis & Design Architecture
Week 4 Jan 24 - 28 Software design; UX prototyping; SOLID; Design patterns Analysis & Design Design review (15%)
Week 5 Jan 31 - Feb 4 Build systems; Source code structure; Building desktop & mobile apps (Infrastructure) Infrastructure
Week 6 Feb 7 - 11 Pair programming; Unit testing; Refactoring Sprint 1 Kickoff Sprint 1 Progress
Week 7 Feb 14 - 18 Data formats; Databases & SQL Sprint 1 Completion Sprint 1 Demo (20%)
Week 8 Feb 21 - 25 Reading week Reading week Reading week
Week 9 Feb 28 - Mar 4 Web services; Spring; Client requests Sprint 2 Kickoff Sprint 2 Progress
Week 10 Mar 7 - 11 Functional Kotlin; Async programming Sprint 2 Completion Sprint 2 Demo (20%)
Week 11 Mar 14 - 18 Integration testing; Profiling Sprint 3 Kickoff Sprint 3 Progress
Week 12 Mar 21 - 25 Copyright; Licenses; Packaging; Software releases Sprint 3 Completion Sprint 3 Demo (20%)
Week 13 Mar 28 - Apr 1 Kotlin Multiplatform Work on submission Work on submission
▶︎ Week 14 Apr 4 - 5 Demos; Q&A Wrapup Final submission (10%)

Week 1: Introduction

Main Goal: Form project teams.

Wed: Syllabus & Introduction

Fri: Software Process

^top


Week 2: Planning & Requirements

Main Goal: Determine project plan and requirements.

Mon: Planning

  • Video: planning video, slides (notes)
  • Lecture: slides
  • Activities: Create a simple project plan.
    1. Meet with your team on your MS Team channel. Record Meeting Minutes for every meeting that you have. Store your meeting minutes in your GitLab project (in the repo under a folder named meeting-minutes, or in the Wiki - you choose).
    2. Put together a simple project plan, recording critical milestones, constraints and so on. You will need this for your Design Review in a few weeks.
  • Resources:

Wed: Software Requirements

Fri: Kotlin Part 1

^top


Week 3: Software Architecture

Main Goal: Make architectural decisions and document these decisions.

Mon: What is architecture?

Wed: Architectural styles; documenting architecture

Fri: Kotlin Part 2

^top


Week 4: Software Design

Goal: Make low-level design decisions for your project.

Mon: Goals of Software Design; UXD; SOLID.

Wed: Design Patterns

Fri: Design Reviews

Demo guidelines

Demos will take place in the team channels.

  • One of the course staff will join your team channel at the time below.
  • Make sure your slides are posted in your GitLab repository before the meeting.
  • Hit Record before starting, and leave the completed recording in your team channel when done.
  • You have 10 mins to present your project. Everyone needs to be present and each person on the team must present some part of the presentation.
  • We may ask questions at the end, and offer constructive feedback.
  • Grades will be not be released during the meeting, but will be released later.
Time Jeff Licheng Xiaoyan
10:30 Team 101 Team 102 Team 103
10:50 Team 105 Team 106
11:10 Team 107 Team 108 Team 109
11:30 Team 110 Team 112 Team 113
11:50 Team 114 Team 214
12:10 Team 104
Time Jeff Constant Xiaoyan
2:30 Team 201 Team 202 Team 203
2:50 Team 204 Team 205 Team 206
3:10 Team 207 Team 208 Team 209
3:30 Team 210 Team 211 Team 212
3:50 Team 213 Team 215

^top


Week 5: Infrastructure

Goal: Setup the infrastructure for your application (based on your platform/toolkit).

Mon: Git

Wed: Gradle

Fri: Application Toolkits

^top


Week 6: Sprint 1 Kickoff

Goal: Sprint 1 Kickoff and Implemenation.

Mon:

Wed:

Fri:

^top


Week 7: Sprint 1 Demo

Goal: Sprint 1 Demo! slides

Mon, Wed: In-Class Project

Fri: Demo only!

  • Demo Schedule

    • Demos will take place live in MC 4058 at the times below.

    • Please make sure at least one of your team is physically present, and be prepared to Video-Conference in the rest of the team if required. Everyone is expected to participate.

    • See the demo guidelines on the course website.

Time Xiaoyan - in class Jeff - in class Licheng - remote
10:30 Team 101 Team 102 Team 103
10:50 Team 104 Team 105 Team 106
11:10 Team 107 Team 108 Team 109
11:30 Team 110 Team 112 Team 113
11:50 Team 114
Time Xiaoyan - in class Jeff - in class Constant - in class
2:30 Team 201 Team 208 Team 203
2:50 Team 204 Team 205 Team 206
3:10 Team 207 Team 202 Team 209
3:30 Team 210 Team 211 Team 212
3:50 Team 213 Team 214 Team 215

Week 8: Reading Week!

Nothing assigned.

Take a break!

^top


Week 9: Sprint 2 Kickoff

Goal: Sprint 2 Kickoff and Implementation. slides

Mon: Planning

Wed, Fri: Implementation

^top


Week 10: Sprint 2 Demo

Goal: Sprint 2 Demo! slides

Mon: Implementation

Wed: Implementation

Fri: Demo

  • Licheng is not on campus, so his demos will be done virtually! Please start a video call on your team’s channel at the indicated time and he will join you.

  • For everyone else, demos will take place live in MC 4058 at the times below.

    • Please make sure at least one of your team is physically present, and be prepared to Video-Conference in the rest of the team if required. Everyone is expected to participate.

    • See the demo guidelines on the course website.

Time Licheng - remote Xiaoyan - in class Jeff - in class
10:30 Team 101 Team 102 Team 103
10:50 Team 104 Team 105 Team 106
11:10 Team 107 Team 108 Team 109
11:30 Team 110 Team 112 Team 113
11:50 Team 114
Time Constant - in class Xiaoyan - in class Jeff - in class
2:30 Team 201 Team 208 Team 203
2:50 Team 204 Team 205 Team 206
3:10 Team 207 Team 202 Team 209
3:30 Team 210 Team 211 Team 212
3:50 Team 213 Team 214 Team 215

^top


Week 11: Sprint 3 Kickoff

Goal: Sprint 3 Kickoff and Implementation. slides

Mon: Planning

Wed, Fri: Implementation

^top


Week 12: Sprint 3 Demo

Goal: Sprint 3 Demo!

Mon, Wed: Implementation

Fri: Demo

  • Licheng is not on campus, so his demos will be done virtually! Please start a video call on your team’s channel at the indicated time and he will join you.

  • For everyone else, demos will take place live in MC 4058 at the times below.

    • Please make sure at least one of your team is physically present, and be prepared to Video-Conference in the rest of the team if required. Everyone is expected to participate.

    • See the demo guidelines on the course website.

Time Jeff - in class Licheng - remote Xiaoyan - in class
10:30 Team 101 Team 102 Team 103
10:50 Team 104 Team 105 Team 106
11:10 Team 107 Team 108 Team 109
11:30 Team 110 Team 112 Team 113
11:50 Team 114
Time Jeff - in class Constant - in class Xiaoyan - in class
2:30 Team 201 Team 202 Team 203
2:50 Team 204 Team 205 Team 206
3:10 Team 207 Team 208 Team 209
3:30 Team 210 Team 211 Team 212
3:50 Team 213 Team 214 Team 215

^top


Week 13: Wrapup

Goal: Work on your final project submission (slides)

Mon, Wed, Fri:

^top


Week 14: Demos

Goals: Submit your final project submission.

Mon: We’ll do optional demos for anyone that wants to show their project. This is the last class of the term!

Tues: Your final project submission is due Tues Apr 5 @ 5:00 11:59 PM.

^top