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%) |
Main Goal: Form project teams.
Wed: Syllabus & Introduction
Fri: Software Process
Main Goal: Determine project plan and requirements.
Mon: Planning
meeting-minutes
, or in the Wiki - you choose).Wed: Software Requirements
Fri: Kotlin Part 1
Main Goal: Make architectural decisions and document these decisions.
Mon: What is architecture?
Wed: Architectural styles; documenting architecture
Fri: Kotlin Part 2
Video: kotlin 2 video (slides); kotlin 3 video (slides)
Lectures: slides
Activities
Resources:
Goal: Make low-level design decisions for your project.
Mon: Goals of Software Design; UXD; SOLID.
Video: analysis & design 3 video (slides) (notes)
Lecture: slides
Activities:
Resources:
Interaction Design Foundation. 2021. What is Prototyping? https://www.interaction-design.org/literature/topics/prototyping
(Optional, free license). Figma Design Tool. https://www.figma.com.
Wed: Design Patterns
Fri: Design Reviews
Video (optional, non-testable): John Ousterhout. 2018. Talks at Google. https://www.youtube.com/watch?v=bmSAYlu0NcY
Lectures: none
Activities: Demo. See schedule below.
Demo guidelines
Demos will take place in the team channels.
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 |
Goal: Setup the infrastructure for your application (based on your platform/toolkit).
Mon: Git
Wed: Gradle
Fri: Application Toolkits
Video: Choose the video that is relevant for your project
Lecture: slides
Activities:
Resources
Goal: Sprint 1 Kickoff and Implemenation.
Mon:
Wed:
Fri:
Goal: Sprint 1 Demo! slides
Mon, Wed: In-Class Project
Videos: data video (slides), databases video (slides)
Activities:
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.
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 |
Nothing assigned.
Goal: Sprint 2 Kickoff and Implementation. slides
Mon: Planning
Wed, Fri: Implementation
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.
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 |
Goal: Sprint 3 Kickoff and Implementation. slides
Mon: Planning
Wed, Fri: Implementation
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.
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 |
Goal: Work on your final project submission (slides)
Mon, Wed, Fri:
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.