Schedule and lectures

All topics below are tentative.

Week 1

Date Topic Prep
Mon 1/12 Lecture Syllabus overview, how to succeed
Day 1 extra credit assessment
Wed 1/14 Lab Lab0 – git setup
submitserver setup
Bring your laptop to labs

Week 2

Date Topic Prep
Mon 1/19 Lecture no class
Wed 1/21 Lab quick markdown tutorial for worksheets
Lab1 – debugging with print statements

Week 3

Date Topic Prep
Mon 1/26 Lecture W1 worksheet
work on LeetCode
Lecture1: OOP
Wed 1/28 Lab Quiz1: cancelled due to snow

Week 4

Date Topic Prep
Mon 2/2 Lecture work on LeetCode
Wed 2/4 Lab Quiz2: writing LeetCode

Week 5

Date Topic Prep
Mon 2/9 Lecture W2 worksheet
Lab2 – understanding unit tests
Lab3 – writing tests
Lecture2: writing tests
Wed 2/11 Lab Quiz3: writing unit tests and writing LeetCode

Week 6

Date Topic Prep
Mon 2/16 Lecture no class
Wed 2/18 Lab Quiz 4: debugging on paper and writing LeetCode

Week 7

Date Topic Prep
Mon 2/23 Lecture W3 worksheet
Lab4 – UML for enigma
begin Lab5 – Enigma
Lecture3: inheritance and UML
Wed 2/25 Lab Quiz 5: inheritance and writing LeetCode

Week 8

Date Topic Prep
Mon 3/2 Lecture W4 worksheet
work on LeetCode
review Quiz4
begin Lab6 – Dot Chaser
Lecture4: Polymorphism
Wed 3/4 Lab Quiz 6: polymorphism [sample] and writing LeetCode

Spring Break

Date Topic Prep
Mon 3/9 Lecture no class
Mon 3/11 or Wed 3/13 Lab no class

Week 9

Date Topic Prep
Mon 3/16 Lecture W5 worksheet
work on LeetCode
begin Lab7 – DC Metro
Lecture5: Interfaces and Generics
Wed 3/18 Lab Quiz 7: interfaces and generics [sample] and writing LeetCode

Week 11

Date Topic Prep
Mon 3/23 Lecture W6 worksheet
work on LeetCode
begin Lab8 – Wordcount
Lecture6: Exceptions and IO
Wed 3/25 Lab Lab9 – finding faults with unit tests

Week 12

Date Topic Prep
Mon 3/30 Lecture W7 worksheet
Lab10 – advanced git
work on LeetCode
Lecture7: Threading
Wed 4/1 Lab Quiz 8: Lab 7 topics (50 min)
Quiz 9: Lab 8 topics (remaining time)

Week 13

Date Topic Prep
Mon 4/6 Lecture history of software engineering
Lab11 – testing threads (optional extra credit lab)
work on LeetCode (optional extra credit on the board)
Wed 4/8 Lab Quiz 10: threading [sample]
LeetCode extra credit on the board

Week 14

Date Topic Prep
Mon 4/13 Lecture W8 worksheet
Lab12 – UML for ServerSim
work on Lab13 – ServerSim
Lecture8: Networking
Wed 4/15 Lab Quiz 11: networking
work on Lab13

Week 15

Date Topic Prep
Mon 4/20 Lecture W9 worksheet
Lab14 – Enigma GUI
work on LeetCode
Lecture9: GUIs
Wed 4/22 Lab Quiz 12: Lab 13 topics
work on Lab14

Week 16

Date Topic Prep
Mon 4/27 Lecture Lab15 – Testing LLM-generated code (due at end of class)
Wed 4/29 Lecture Quiz 13: GUI topics (in regular lecture room, 10am)
LeetCode extra credit on board

Finals week

There is no final exam in this course.

Make sure you report all grade corrections/concerns to the professor by 5/1