teaching
CMSC 226
Principles of Computing Systems
overview | logistics | schedule | assignments | presentations | resourcesTentative 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 |