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
August
Su M Tu W Th F Sa
17 18 19 20 21
Course intro
Slides | Videos

Lecture & lab
22
Welcome survey due

Syllabus quiz due

CS:APP Ch.1 quiz due
23
24 25
Command line and C compilation
Slides | Videos

Quiz due
26
Lab (writeup)
27
C intro
Slides | Videos

Quiz due
28
Lab
29
Project guide quiz due
30
September
Su M Tu W Th F Sa
31 1
C arrays and strings
Slides | Videos

Quiz due
2
Lab
3
C structs and I/O
Slides | Videos

Quiz due
4
Lab
5 6
7 8
C getopt() and debugging
Slides | Videos

Quiz due
9
Lab

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

Quiz due
11
Lab
12
P0 due

M1 test posted
13
14
M1 test due
15
Integer encodings
Slides | Videos

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

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

Quiz due
23
Lab
24
Assembly intro
Slides | Videos

Quiz due
25
Lab
26
P1 due

M2 test posted
27
28
M2 test due
29
Assembly data movement
Slides | Videos

Quiz due
30
Lab
October
Su M Tu W Th F Sa
1
Assembly control flow
Slides | Videos

Quiz due
2
Lab
3 4
5 6
Assembly procedures
Slides | Videos

Quiz due
7
Lab
8
Assembly misc. topics
Slides | Videos

Quiz due
9
Lab
10
P2 due

M3 test posted
11
12
M3 test due
13 14
Midterm
15
Y86 intro
Slides | Videos

Quiz due
16
Lab
17
Y86 lab page 2 due
18
19 20
Combinational circuits
Slides | Videos

Quiz due
21
Lab
Last day to withdraw with a "W"
22-24
Fall Break
25
26 27
Sequential circuits
Slides | Videos

Quiz due
28 29
CPU architecture
Slides | Videos

Quiz due
30 31
P3 milestone
November
Su M Tu W Th F Sa
1
2 3
Y86 semantics
Slides | Videos

Quiz due
4
Lab
5
Memory
Slides | Videos

Quiz due
6
Lab
7
P3 due
8
9 10
Caching
Slides | Videos | mountain.c

Quiz due
11
Lab
12
Virtual memory
Slides | Videos

Quiz due
13
Lab
14
M4 test posted
15
16
M4 test due
17
Exceptions and processes
Slides | Videos

Quiz due
18
Lab
19
Files
Slides | Videos

Quiz due
20
Lab
21
P4 milestone

M5 test posted
22
23 24-28
Thanksgiving Break
29
30
M5 test due
December
Su M Tu W Th F Sa
1
Threads
Slides | Videos

Quiz due
2
Lab
3 4
Final review
5
P4 due
6
7 8 9
Section 3 Final Exam (10:30am - 12:30pm)
10 11
Section 4 Final Exam (10:30am - 12:30pm)
12 13