Calendar

This calendar is tentative and subject to change. Please check this page regularly for updates.

Unless explicitly marked, all class periods will be held in EnGeo 2209. Unless noted otherwise, all readings are from the class textbooks (CS:APP or CPL), all lectures will be posted on YouTube (mostly recorded in Fall 2020 and starring Dr. Lam), and all quizzes, labs, and module tests will be submitted on Canvas. Programming project descriptions will be posted on the assignments page; the project starter files will be distributed and the final submissions will be collected on the stu student server.

Slide links may be inactive until shortly before class on the day of the lab. If they are still inaccessible by 7pm the evening after the lab, please feel free to send me a reminder via email to post them.

The following diagram shows the outline of a typical week in this class:

Monday Tuesday Wednesday Thursday Friday
In-class Lab Lab
Out-of-class Lecture videos, reading, and quiz Lecture videos, reading, and quiz
Project work Project work Project work Project work Project work (deadlines every 2-3 weeks)

Lab
Lab
January
Su M Tu W Th F Sa
18 19 20
Course intro
Slides | Videos

Lecture & lab
21
Command line and C compilation
Slides | Videos

Quiz 2 due

CS:APP Ch.1 Quiz 1 due
22
Lab (writeup)
23
Welcome survey due

Syllabus quiz due
24
25 26
C intro
Slides | Videos

Quiz due
27
Lab
28
C arrays and strings
Slides | Videos

Quiz due
29
Lab
30
Project guide quiz due
31
February
Su M Tu W Th F Sa
1 2
C structs and I/O
Slides | Videos

Quiz due
3
Lab
4
C getopt() and debugging
Slides | Videos

Quiz due
5
Lab
6
M1 test posted

P0 due
7
8 9
M1 test due
10
No class: Assessment Day

CISE Career Fair (11am-3pm, Festival Ballroom)
11
Binary information
Slides | Videos

Quiz due
12
Lab
13 14
15 16
Integer encodings
Slides | Videos

Quiz due
17
Lab
18
Binary arithmetic
Slides | Videos
(+ supplementary reading on Canvas)

Quiz due
19
Lab
20
P1 due
21
22
FP activity due
23
Floating point
Slides | Videos

Quiz due
24
Lab
25
Assembly intro
Slides | Videos

Quiz due
26
Lab
27

M2 test posted
28
March
Su M Tu W Th F Sa
1
M2 test due
2
Assembly data movement
Slides | Videos

Quiz due
3
Lab
4
Assembly control flow
Slides | Videos

Quiz due
5
Lab
6
P2 due
7
8 9 10
Midterm Review
11 12
Midterm
13 14
15 16-20
Spring Break
21
22 23
Assembly procedures
Slides | Videos

Quiz due
24
Lab
25
Assembly misc. topics
Slides | Videos

Quiz due
26
Lab
27
M3 test posted
28
29
M3 test due
30
Y86 intro
Slides | Videos

Quiz due
31
Lab
April
Su M Tu W Th F Sa
1
Combinational circuits
Slides | Videos

Quiz due
2
Lab
3
Y86 lab page 2 due
P3 milestone

Last day to withdraw with a "W"
4
5 6
Sequential circuits
Slides | Videos

Quiz due
7 8
CPU architecture
Slides | Videos

Quiz due
9 10
P3 due
11
12 13
Y86 semantics
Slides | Videos

Quiz due
14
Lab
15
Memory
Slides | Videos

Quiz due
16
Lab
17
M4 test posted
18
19
M4 test due
20
Caching
Slides | Videos | mountain.c

Quiz due
21
Lab
22
Virtual memory
Slides | Videos

Quiz due
23
Lab
24
P4 milestone
25
26 27
Exceptions and processes
Slides | Videos

Quiz due
28
Lab
29
Files
Slides | Videos

Quiz due
30
Lab
May
Su M Tu W Th F Sa
1
P4 due

M5 test posted
2
3
M5 test due
Optional Final Review (TBD but likely 3pm - 5pm)
4
Threads
Slides | Videos

Quiz due
5
Lab and final review
6 7
Section 1 Final Exam (10:30am - 12:30pm)
8 9
10 11 12
Section 2 Final Exam (10:30am - 12:30pm)
Section 3 Final Exam (1:00pm - 3:00pm)
13 14 15 16