Schedule and Lecture Notes

Click the title of a lecture to view the page with lecture notes. Reading assignments from Bryant & O'Hallaron are in purple.
Recommended practice problems are in green. Associated practice problems are best done after lecture.

Jump to: January | February | March | April | May

 
 

January 2024

Sunday Monday Tuesday Wednesday Thursday Friday Saturday
14 15
16

Lecture 1: Bits and Bytes

Reading: Ch. 1, 2.1

Practice problems: 2.1, 2.3, 2.4, 2.8, 2.9, 2.12, 2.14, 2.16


17
18

Lecture 2: Integers I

Reading: Ch 2.2

Practice problems: 2.17, 2.19, 2.23-2.26


19

Lab 1: Bits

20
21

22

23

Lecture 3: Integers II

Reading: 2.3

Practice problems: 2.28, 2.29, 2.32, 2.33, 2.43, 2.44


24
25

Lecture 4: Floats

Reading: 2.4-2.5

Practice problems: 2.45, 2.47, 2.54


26

27

28

29
30

Quiz 1 due: Lec 1-4

Lecture 5: Machine Prog. I
(basics and moving data)

Reading: Ch. 3 intro, 3.2-3.4

Practice problems: 3.1, 3.4, 3.5


31






 
 

February 2024

Sunday Monday Tuesday Wednesday Thursday Friday Saturday








1

Lecture 6: Machine Prog. II
(arithmetic ops and control flow)

Reading: Ch. 3.5-3.6

Practice problems: 3.6, 3.11A, 3.18, 3.26


2

Lab 1 due

Lab 2: Debugger


3

4
5

6

Lecture 7: Machine Prog. III
(procedures, stack)

Reading: Ch. 3.7

Practice problems: 3.32, 3.34-3.35


7

8

Lecture 8: Machine Prog. IV
(arrays, structs)

Reading: Ch. 3.8-3.9

Practice problems: 3.36-3.38, 3.41, 3.44


9

Lab 2 due

Lab 3: Bomb


10

11

12

13

Quiz 2 due: Lec 5-8

Lecture 9: Processes

Reading: Ch. 8.1-8.4

Practice problems: 8.1-8.4


14

15

Lecture 10: Concurrency I

Reading: Ch. 12.3-12.5.1

Practice problems: 12.7-12.8


16

17

18

19

20

Lecture 11: Concurrency II

Reading: Ch. 12.5.2-4, 12.7

Practice problems: 12.10, 12.13, 12.15


21

22

Lecture 12: Dynamic Memory Allocation

Reading: 9.9

Practice problems: 9.6, 9.7


23

Lab 3 due

Lab 4: Ring Buffer


24

25

26

27

Quiz 3 due: Lec 9-12

Lecture 13: Signals, ECF, Shells

Shell Practice worksheet

Reading: Ch. 8.1, 8.5

28

29

Lecture 14: Networks

Reading: Ch. 11.1 - 11.5

Practice problems: 11.4






 
 

March 2024

Sunday Monday Tuesday Wednesday Thursday Friday Saturday










1

2

3

4

5

Lecture 15: Machine Prog. V
(security)

Reading: Ch. 3.10.3-3.10.4

Practice problems: 3.46-3.48


6

7

No class


8

Lab 4 due


9

10

11

Spring break


12

Spring break


13

Spring break


14

Spring break


15

Spring break


16

17

18

19

Lecture 16: Midterm Review

Midterm available 5pm


20

21

Lecture 17: I/O

Reading: Ch. 10.1-10.4, skim 10.5-10.7, 10.8-10.12

Practice problems: 10.1-10.3,10.5


22

Lab 5


23

24

25

Midterm due


26

Lecture 18: More I/O, Fgrep


27

28

Lecture 19: Hard Disk Drives and File Systems

Reading: 6.1.2

Practice problems: 6.3


29

Cesar Chavez day


30

 
 

April 2024

Sunday Monday Tuesday Wednesday Thursday Friday Saturday
31

1

2

Quiz 4 due: Lec 15-19

Lecture 20: Memory Hierarchy, Caches I

Reading: 6.2-6.3

Practice problems: 6.7


3

4

Lecture 21: Caches II

Reading: 6.4-6.7

Practice problems: 6.8-6.20


5

Lab 5 due

Lab 6: Fgrep


6

7

8

9

Lecture 22: Caches III


10

11

Lecture 23: Virtual Memory I

Reading: Ch 9.1-9.5

Practice problems: 9.1-9.2


12

13

14

15

16

Quiz 5 due: Lec 20-23

Lecture 24: Virtual Memory II


17

18

Lecture 25: Performance I

Reading: Ch. 5.1-5.6, 4.1-4.4

Practice problems: 5.1, 5.3, 5.4, 4.28


19

Lab 6 due

Lab 7: Cache


20

21

22

23

Lecture 26: Performance II

Reading: Ch. 5.7-5.10


24

25

Lecture 27: Review


26

Lab 7 due


27

 
 

May 2024

Sunday Monday Tuesday Wednesday Thursday Friday Saturday
28

29

30

1

2

Final due 1:00pm
(graduating seniors)


3

4

5

6

7

8

9

Final due 5:00pm
(non-graduating students)



10

11