Topics Covered by Day
August
25: intro, why systems, leaky abstractions
27: bits, bytes, base 2, 10, 16 conversions,
<<>>~|&^
September
1: 2s complement, ring, addition, subtraction, negation, intro to multiplication
3: review 2s complement, floats
8: review floats, intro to assembly
10: x86 history, risc vs cisc, registers, operands, how to read assembly
15: function calls and stack frames, intro to bomb lab
17: setting up ssh, memory modes, intro to branches, cmp, test
22: printf, scanf, for, while loops as do while loops, switch statements
24: flags and conditional branches
29: structs, struct example
October
1: cache, direct mapped, fully associate, and set associate, intro to buffer lab
6: cache write policies, endianness, cache example with nested loops
8: buffer lab questions, cache hit and miss ratios
13: midterm
20: exceptional control flow: interrupts, faults, traps, aborts, processes, system calls
22: intro to shell lab, fork, exec, process ids, process group ids, signals, foreground vs background
27: intro to git, more on fork, exec, pids, process groups, signals, etc.
29: waitpid example, argc, argv, exec
November
3: signals and sleep, signal handler example, sscanf
5: midterm answers, setjmp, longjmp
10: intro to malloc lab (Bart)
12: virtual memory, pages, page tables, TLB, segments, copy-on-write
19: upper-division CS classes discussion
24:
December
1:
3:
8:
10:



