Keith J. O'Hara

teaching

CMSC 226

Principles of Computing Systems

overview | logistics | schedule | assignments | presentations | resources

Tentative Schedule (changes frequently)

week date topics readings CLI vitamins work assigned
1 9/03/2018 course introduction syllabus; "Basics of the Unix Philosophy" by ESR; "The Night Watch" by Mickens JiT Bite-Size CLI
9/05/2018 unix TLPI 2; FLOSS CL Basics & Commands fork bombs
2 9/10/2018 script
9/12/2018 strings; system calls Appendix A (C101) of 21-C; TLPI 3 watch yes
3 9/17/2018 file I/O; redirection & pipes TLPI 4 & 13 cal yes II
9/19/2018 advanced git 21C ch. 4 diff
4 9/24/2018 processes; pointers TLPI 6; 21C ch. 6 wc memory map
9/26/2018 call stack; debugging 21C ch. 2 date bshell
5 10/01/2018 processes II Process API (other ref: TLPI 23-27) bc
10/03/2018 "The Descent to C" by Tatham Exam 1
6 10/08/2018 Fall Break
10/10/2018 assembly intro Introduction to ARM Assembly; ARM-RPI ch.1-2 screen
7 10/15/2018 memory; makefiles ARM-RPI ch.3-4; 21C pg. 17-23 & ch. 3 file ldr/str poster
10/17/2018 branching ARM-RPI ch.5-6 cowsay
8 10/22/2018 arrays & structures ARM-RPI ch.7-8 seq arm-fib
10/24/2018 functions ARM-RPI ch.9-10 tee tracing
9 10/29/2018 stacks; buffer overflow stack and functions; Smashing The Stack For Fun And Profit (up to Shell Code) by Aleph One cut/paste binary exploitation
10/31/2018 system calls & shell codes ARM-RPI ch.19; ARM Shellcodes; Smashing The Stack For Fun And Profit by Aleph One rig
10 11/05/2018 predication & pipelining; meltdown & spectre; perf ARM-RPI ch.11 & 12; "Why Raspberry Pi isn't vulnerable to Spectre or Meltdown" by Eben Upton
11/07/2018 Exam 2
11 11/12/2018 floating point ARM-RPI ch.13; 21C pg. 125--129; wget project proposal
11/14/2018 more C; non-local jumps 21C 8; TLPI 6.8 lynx
12 11/19/2018 signals & timers; cdecl TLPI 20, 21 & 23 nohup
11/21/2018
13 11/26/2018 threads TLPI 29; 21C 12 rsync threads
11/28/2018 synchronization TLPI 30 tr
14 12/03/2018 sockets TLPI 56 & 58 convert
12/05/2018 ADVISING DAY
15 12/10/2018 Project day
12/12/2018 libraries TLPI 41; 21C 5 cron
16 12/17/2018 Final Project Presentations
12/19/2018