Schedule
Week 1: | 8/23 |
Overview
slides:
20220823 Course intro, Vim.pptx
|
|
8/25 |
Vim
|
||
Week 2: | 8/30 |
number bases, test-driven development (TDD)
snippets:
a.c b.c, c.c, d.c, e.c, expected.txt, f.c, g.c, print_integer.c, print_integer.h, test_print_integer.c
|
HW01: Editing: Vim,
due 8/30 (Tue)
|
9/1 |
test-Driven Development (TDD), editing tips
|
||
Week 3: | 9/6 |
HW02: Strings: print_integer(…),
due 9/7 (Wed)
HW03: TDD,
due 9/8 (Thu)
|
|
9/8 |
strings, memory
|
||
Week 4: | 9/13 |
HW04: Debugging: GDB,
due 9/12 (Mon)
|
|
9/15 | |||
Week 5: | 9/20 |
HW05: Strings: mintf(…),
due 9/19 (Mon)
|
|
9/22 | |||
Week 6: | 9/27 |
HW06: Log macros,
due 9/28 (Wed)
HW07: Unit testing,
due 10/2 (Sun)
|
|
9/29 | |||
Week 7: | 10/4 |
HW08: Make,
due 10/4 (Tue)
|
|
10/6 |
malloc(…), miniunit
|
||
Week 8: | 10/13 |
HW09: malloc(…): Join strings,
due 10/14 (Fri)
|
|
Week 9: | 10/18 | ||
10/20 |
priority queue
snippets:
a.c c.c, d.c, demo_priority_queue.c, e.c, priority_queue.c, priority_queue.h, test_priority_queue.c, z.c
|
||
Week 10: | 10/25 |
HW10: Huffman 1: priority queue,
due 10/24 (Mon)
HW11: Tree sort,
due 10/27 (Thu)
|
|
10/27 | |||
Week 11: | 11/1 |
assert(…), test coverage, HW12 tips, parse_digit(…)
|
HW12: JSON: ints,
due 11/2 (Wed)
HW13: JSON: strings,
due 11/4 (Fri)
|
11/3 |
const, HW13/HW14 tips and Q&A
|
||
Week 12: | 11/8 |
HW14/15, complex structure in memory, how to read a file
[1,[2,"three"]] parse_json("[1,[2,\"three\"]]") Function call trace Structure in memory (using memory form) ⚠: Do not use EOF when reading a file. ⚠: Googling how to read a file will likely to lead to more error-prone methods.
|
HW14: JSON: lists,
due 11/9 (Wed)
HW15: JSON: errors,
due 11/11 (Fri)
|
11/10 | |||
Week 13: | 11/15 |
HW16: Huffman 2: files, frequencies,
due 11/14 (Mon)
HW17: Huffman 3: linked list of trees,
due 11/16 (Wed)
HW18: Huffman 4: build Huffman tree,
due 11/20 (Sun)
|
|
11/17 | |||
Week 14: | 11/22 | ||
Week 15: | 11/29 |
"
|
HW19: Huffman 5: write bits to a file,
due 11/29 (Tue)
|
12/1 |
"
|
||
Week 16: | 12/6 |
Endianness, examining memory with x/▒, buffer overflows/overwrites
|
HW20: Huffman 6: encode tree to file,
due 12/5 (Mon)
HW21: Huffman 7: encode data to file,
due 12/7 (Wed)
HW22: Buffer overflow,
due 12/10 (Sat)
|
12/8 |
Quiz 5 and primer for HW22
|
To try code snippets, right-click to copy URL. Then, in bash, type
wget URL
(where
URL is the URL you copied from this page.) To paste in
PuTTY, try Shift-Right_Mouse_Click or Shift-Insert_Key. (Do not do that in Vim.)
Assignments and deadline may be changed without notice up to 1 week before the due date.