| Wednesday 1/7 |
|
RD00
Course Syllabus
|
Thu 1/8 |
Course |
|
TK00
Docker, VSCode/DevContainers, Copilot, and GitHub Education Setup
|
Fri 1/9 |
IDE |
|
LS00
Foundations of Software Engineering
(Stream)
|
|
Course |
|
RD02
What is Source Code Management and `git`?
|
Thu 1/8 |
git |
|
RD04
`git`: Fundamental Subcommands
|
Sat 1/10 |
git |
|
RD03
`git`: Core Concepts of a Repository
|
Fri 1/9 |
git |
|
RD01
ACM Software Engineering Code of Ethics
|
Thu 1/8 |
Ethics |
| Friday 1/9 |
|
TK01
Write ADRs for Package Managers
|
Sun 1/11 |
ADR |
|
LS01
Architectural Design Records (ADRs), Lifelong Learning
(Stream)
|
|
ADR Ethics Learning |
|
RD06
Review AI-generated Code
|
Sun 1/11 |
Code Agent |
|
RD05
Documenting Architecture Decisions
|
Sun 1/11 |
ADR |
| Monday 1/12 |
|
TK02
Implement a Dependency Manager ADR with an Agent
|
Thu 1/15 |
ADR Code Agent |
|
LS02
Dependency Managers, LLMs, and Agentic IDEs
|
|
Code Review Code Agent |
|
RD08
Git Collaboration: Working with Remote Repositories
|
Tue 1/13 |
git |
|
RD07
Branching and Merging
|
Tue 1/13 |
git |
| Wednesday 1/14 |
|
TK03
`git` Diagram Practice
|
Thu 1/15 |
git |
|
LS03
Conceptually Understanding Common `git` Operations
(Stream)
|
|
git |
| Friday 1/16 |
|
LS04
Testing Foundations: From Requirements to Automation
(Stream)
|
|
Testing Testing |
| Wednesday 1/21 |
|
TK04
Professionalizing the Developer Environment
|
Tue 1/27 |
ADR Code Agent |
|
QZ00
Unit 0 Quiz
|
|
Course |
| Friday 1/23 |
|
LS05
Designing with Layers and Composition
(Stream)
|
|
APIs Testing |
|
RD09
Communicating in the Software Development Lifecycle
|
Tue 1/27 |
APIs Communication |
|
RD10
Advancements in Communication between Computing Systems
|
Tue 1/27 |
APIs |
|
RD11
Human Communication and API Design: A Shared Foundation
|
Tue 1/27 |
APIs |
| Monday 1/26 |
|
SD00
Snow Day - Class Cancelled
|
|
Course |
| Wednesday 1/28 |
|
LS06
Arrange-Act-Assert Testing and Mocking
(Stream)
|
|
Testing |
|
RD12
MagicMock Documentation
|
Thu 1/29 |
Testing |
| Friday 1/30 |
|
LS07
Testing Concepts: Patching and Fixtures
(Stream)
|
|
Testing |
|
RD13
How AI Impacts Skill Formation
|
Sun 2/1 |
Course Code Agent |
| Monday 2/2 |
|
SD01
Snow Day - Class Cancelled
|
|
Course |
|
TK05
Unit and Integration Testing Exercise
|
Fri 2/6 |
Testing |
| Wednesday 2/4 |
|
LS08
Testing Practice and Exercises
(Stream)
|
|
Testing |
| Friday 2/6 |
|
LS09
Pydantic
(Stream)
|
|
Testing |
| Wednesday 2/11 |
|
QZ01
Unit 1 Quiz
|
|
Course |
|
RD14
Key Concepts in HTTP
|
Thu 2/12 |
APIs |
|
RD15
Toward Designing and Formally Specifying APIs
|
Thu 2/12 |
APIs |
|
RD16
FastAPI and Pydantic Tutorial
|
Sun 2/15 |
APIs |
| Friday 2/13 |
|
LS10
HTTP API Design
|
|
Backend |
| Monday 2/16 |
|
TK06
API Design (Part 1)
|
Thu 2/19 |
API Design |
|
LS11
Dependency Injection Lab
|
|
Backend |
|
RD18
On Pair Programming
|
Tue 2/17 |
Teamwork |
|
RD17
Dependency Injection
|
Tue 2/17 |
Backend |
| Wednesday 2/18 |
|
LS12
API Design Lab Day
(Stream)
|
|
Backend |
|
RD19
Unit, Integration, and E2E Testing API Routes
|
Fri 2/20 |
Backend |
| Friday 2/20 |
|
TK06
API and Service-layer Implementation (Part 2)
|
Tue 2/24 |
API |
|
LS13
API Implementation Lab Day
(Stream)
|
|
Backend |
| Monday 2/23 |
|
LS14
Testing with Dependency Injection
(Stream)
|
|
Backend |
| Wednesday 2/25 |
|
QZ02
Unit 2 Quiz
|
|
Course |
| Friday 2/27 |
|
LS15
Intro to SQL, RDBMS, and ACID Properties
|
|
Course |
|
RD20
SQL Primer for COMP423
|
Mon 3/2 |
RDBMS |
| Monday 3/2 |
|
LS16
Introduction to Object-Relational Mapping
(Stream)
|
|
Course |
|
RD21
Querying with SQLModel
|
Tue 3/3 |
RDBMS |
|
RD22
Engines, Sessions, and Transactions in SQLModel/SQLAlchemy
|
Tue 3/3 |
RDBMS |
| Wednesday 3/4 |
|
LS17
Testing with an ORM
(Stream)
|
|
Course |
| Thursday 3/5 |
|
RD23
Testing with Databases
|
Fri 3/6 |
RDBMS |
| Friday 3/6 |
|
TK07
Refactor Persistence Layer to an ORM
|
Fri 3/13 |
RDBMS |
|
LS18
ORM Tools
(Stream)
|
|
Course |
| Monday 3/9 |
|
LS19
TK07 Lab Day
|
|
Course |
|
RD24
Introduction to Entity Relationships in an ORM
|
Tue 3/10 |
RDBMS |
| Wednesday 3/11 |
|
LS20
Entity Relationships in an ORM
(Stream)
|
|
Course |
| Friday 3/13 |
|
LS21
Container Fundamentals
|
Sun 3/22 |
Containers |
| Monday 3/23 |
|
LS22
Designing Features before Writing Code
(Stream)
|
|
Course Design |
| Wednesday 3/25 |
|
QZ03
Unit 3 Quiz
|
|
Course |
| Friday 3/27 |
|
SP00
Call for Proposals
|
|
Design |
|
SP00
Part 1 - An Epic Tale of Short Stories
|
Tue 3/31 |
Design |
|
LS23
Stories and Epics
|
|
Course |
|
RD25
Wireframes
|
Sun 3/29 |
["Design"] |
| Monday 3/30 |
|
LS24
Wireframe Practice
|
|
Design |
| Wednesday 4/1 |
|
SP00
Technical Specificiation of Data Tables and API
|
Mon 4/6 |
APIs |
|
LS25
Technical Design Lab (Data Tables)
|
|
Design |
|
RD26
Code Review (Google Engineering Practices)
|
Sun 4/5 |
Teamwork |
| Monday 4/6 |
|
LS26
Sprint 0 Closeout
|
|
Design |
| Tuesday 4/7 |
|
RD26
LearnWithAI.unc.edu Onboarding
|
Thu 4/9 |
Teamwork |
| Wednesday 4/8 |
|
LS27
The New Entry-Level SWE Landscape
|
|
Career |
| Thursday 4/9 |
|
SP01
One Story End-to-End
|
Sun 4/19 |
Design |
| Friday 4/10 |
|
LS28
Project On-boarding
|
|
Teamwork |
| Monday 4/13 |
|
LS29
Front-end Walkthrough and Agentic Strategies
|
|
Teamwork |
| Wednesday 4/15 |
|
LS30
Environment Variables and AI API Keys
|
|
Teamwork |
| Friday 4/17 |
|
LS31
SP01 Lab Day
|
|
Teamwork |
| Monday 4/20 |
|
SP02
Second Story End-to-End
|
Fri 5/1 |
Design |
|
SP02
Deployment Instructions
|
Fri 5/1 |
Design |
|
LS32
SP01 Demo Day
|
|
Teamwork |
| Wednesday 4/22 |
|
LS33
SP02 Lab Day
|
|
Teamwork |
| Friday 4/24 |
|
LS34
Kubernetes / OKD Introduction
|
|
Teamwork |
| Monday 4/27 |
|
LS35
LDOC
|
|
Teamwork |
| Friday 5/1 |
|
SP02
Sprint 02 Extended Deadline
(Sprint 2 Individual Form)
|
|
Course |
| Saturday 5/2 |
|
FN00
Final Deliverable (Submit Demo Video Recording on Gradescope)
|
|
Course |
| Monday 5/4 |
|
FN00
Final Presentations & Final Exam (4pm-7pm)
(Quiz 0, Quiz 1, Quiz 2, Quiz 3)
|
|
Course |