CSCI 2467 Systems Programming Concepts: Schedule

Date Topic Room Reading  
(CSAPP3e)
Assignments

January 13 Lecture 0: Introduction and Welcome (slides) 209
15 Lab Session: getting started with introlab 209 introlab out
17 Tour of Computer Systems (slides) 209 Chapter 1

20 No class (holiday)
21 (2:00pm) Extra help session: Command line boot camp 209
22 Information as Data (slides) 209 2.1 introlab due, datalab out
24 Data (continued) and datalab 209 2.2

27 Ints: signed and unsigned (slides) 209 2.3
29 Ints (continued) and practice for datalab (activity) 209
31 Advanced datalab techniques (activity solutions) 209

February 3 Conclusion: Data, ints, parity, and datalab 209
5 Machine-level representation of programs (slides) 209 3.1,3.2 datalab due, bomblab out
7 Demonstration of bomblab, understanding disassembled code (activity) 209 3.3-3.5

10 Machine-level: control flow (slides) 209 3.6
12 Control (continued): conditional moves, while and for loops 209
14 Control (conclusion): switch statements, pointers (slides) 209

17 Midterm exam review (slides) 209 bomblab due
19 Midterm exam MATH 118 2.1-2.3,3.1-3.6
21 Exams returned, extra credit opportunity (slides/bonus) 209

Mardi Gras and Spring Break

March 2 Exceptional Control Flow: Introducing processes (slides) 209 8.1,8.2
4 Exceptional Control Flow: process control (activity code) 209 8.3,8.4 shell lab out
6 Processes creation and fork() (example code, activity PDF, doit.c) 209

9 ECF: fork() and process graphs (activity solutions) 209
11 ECF: Signals, demo prep 209
13 Shell lab demo (slides, next steps) 209/Zoom shell lab demo

16 ECF: Signals (slides, video, audio) 209/Zoom 8.5
18 ECF: Signals and race conditions (activity, activity example, video, audio) Zoom
20 File Input/Output, redirection, shells, procfs (slides, video, audio) Zoom 10

23 Memory, locality, caches and Memory Hierarchy (signal activity solution, proc activity, slides ,video(10 AM) ,video(Noon), audio(10am), audio(noon)) Zoom 6.1-6.3
25 Caching and memory hierarchy (continued) (video(10am), video(noon), audio(10am), audio(noon)) Zoom
27 Caches and Virtual Memory (video(10am), video(noon), audio(10am), audio(noon), cache demo) Zoom

30 Processes and Virtual Memory (slides, video(10am), video(noon)), audio(10am), audio(noon) Zoom 9.1-9.2 shell lab due (extended)
April 1 Processes and Virtual Memory (continued) (video(10am), video(noon),audio(10am), audio(noon)) Zoom 9.3-9.5
3 Machine-level: procedures and call stack (slides, video(10am), video(noon),audio(10am), audio(noon)) Zoom 3.7

6 Machine-level: procedures and call stack (continued) (video(10am), audio) Zoom attacklab out
8 Machine-level: Stack memory attacks (slides,video(10am), video(noon), audio(10am), audio(noon)) Zoom 3.10
10 No class (holiday)

13 Machine-level: Stack attacks (continued) (audio(10am), audio(noon), video(10am), video(noon)) Zoom
15 Stack defenses (video(10am), video(noon), audio(10am), audio(noon)) Zoom
17 Stack counterattacks (ROP); Buffer overflows and stack memory (activity, bonus slides, video(10am),video(noon)) Zoom

20 ROP wrapup activity / attacklab wrapup Zoom attacklab due
22 Machine-level: pointers and data structures in memory (slides,video(10am),video(noon), audio(10am, audio(noon)) Zoom 3.9
24 Pointer review (slides above) data structures (continued)(audio(10am), audio(noon),video(10am) ,video(noon)) Zoom

27 Final exam: your take-home choices (security/pwntools) (intro slides,video(10am),video(noon),audio(10am),audio(noon)) Zoom
29 Final exam: your take-home choices (systems/cachelab)(video(10am),video(noon),audio(10am),audio(noon)) Zoom
May 1 Final exam: practicing a mock exam on autolab Zoom

4 Last class meeting, future of systems (slides, video(10am), video(noon)) Zoom
6 (no class) Zoom Take-home final sections due Wed May 6 / Thurs May 7
8 Final exam (last 20% is live via zoom/autolab) Zoom

Spring 2020, University of New Orleans Department of Computer Science