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: September | October | November | December

 
 

August-September 2023

Sunday Monday Tuesday Wednesday Thursday Friday Saturday
27 28

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


29 30

Lecture 2: Integers I

Reading: Ch 2.2

Practice problems: 2.17, 2.19, 2.23-2.26


31 1

Lab 1: Bits

2
3

4

Labor day


5

6

Lecture 3: Integers II

Reading: 2.3

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


7

8

9

10

11

Quiz 1 due: Lec 1-3

Lecture 4: Floats

Reading: 2.4-2.5

Practice problems: 2.45, 2.47, 2.54


12

13

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


14

15

Lab 1 due

Lab 2: Debugger


16

17

18

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


19

20

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

Reading: Ch. 3.7

Practice problems: 3.32, 3.34-3.35


21

22

Lab 2 due

Lab 3: Bomb


23

24

25

Quiz 2 due: Lec 4-7

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

Reading: Ch. 3.8-3.9

Practice problems: 3.36-3.38, 3.41, 3.44


26

27

Lecture 9: Machine Prog. V
(security)

Reading: Ch. 3.10.3-3.10.4

Practice problems: 3.46-3.48


28

29

30

 
 

October 2023

Sunday Monday Tuesday Wednesday Thursday Friday Saturday
1

2

Lecture 10: Processes

Reading: Ch. 8.1-8.4

Practice problems: 8.1-8.4


3

4

Lecture 11: Signals, ECP, Shells
Shell Practice

Reading: Ch. 8.1, 8.5


5

6

Lab 3 due

Lab 4: Attack


7

8

9

Quiz 3 due: Lec 8-11

Lecture 12: Concurrency I

Reading: Ch. 12.3-12.5.1

Practice problems: 12.7-12.8


10

11

Lecture 13: Concurrency II

Reading: Ch. 12.5.2-4, 12.7

Practice problems: 12.10, 12.13, 12.15


12

13

14

15

16

Fall Break


17

18

Lecture 14: Midterm review

Midterm available 5pm


19

20

Lab 4 due

Lab 5: Ringbuffer


21

22

23

Lecture 15: 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


24
25

Midterm due beginning of class


Lecture 16: I/O cntd, Fgrep


26

27

28

29 30

Quiz 4 due: Lec 12-13, 15-16

Lecture 17: Dynamic Memory Allocation

Reading: 9.9

Practice problems: 9.6, 9.7


31


 
 

November 2023

Sunday Monday Tuesday Wednesday Thursday Friday Saturday



1

Lecture 18: Hard Disk Drives and File Systems

Reading: 6.1.2

Practice problems: 6.3


2 3

Lab 5 due

Lab 6: Fgrep


4
5

6

Lecture 19: Memory Hierarchy, Caches I

Reading: 6.2-6.3

Practice problems: 6.7


7

8

Lecture 20: Caches II

Reading: 6.4-6.7

Practice problems: 6.8-6.20


9

10

11

12

13

Quiz 5 due: Lec 17-20

Lecture 21: Caches III

Reading: Blocking


14

15

Lecture 22: Virtual Memory I

Reading: Ch 9.1-9.5

Practice problems: 9.1-9.2


16

17

Lab 6 due

Lab 7: Cache


18

19

20

Lecture 23: Virtual Memory II


21

22

Thanksgiving break


23

24

25

26

27

Lecture 24: Performance I

Reading: Ch. 5.1-5.6, 4.1-4.4

Practice problems: 5.1, 5.3, 5.4, 4.28


28

29

Lecture 25: Performance II

Reading: Ch. 5.7-5.10


30



 
 

December 2023

Sunday Monday Tuesday Wednesday Thursday Friday Saturday




1

2
3

4

Quiz 6 due: Lec 21-23

No class


5

6

Lecture 26: Review

7

8

Lab 7 due



Final exam available
9

10

11

12

13

14

12pm: Final exam due


15

16