This is what I plan to cover, and when. It will undoubtedly change as the quarter progresses. All readings are from the texts unless otherwise indicated. “zyBook” is the Programming in C zyBook, “CNotes” is the C Notes book. “Shell” is the shell text book. “§n” means chapter or section n of the named book. “[n]” means handout n. “Dn” means discussion section n.
# | date | topic | readings |
---|---|---|---|
1 | Mar 31 | Intro to UNIX/Linux and C; the CSIF | Shell, §1–4; [1, 7] |
2 | Apr 2 | Intro to C; quick overview of compiling | zyBook, §1; [3, 4] |
3 | Apr 4 | Overview of writing C programs on CSIF | zyBook, §2.20; [2] |
D1 | Using gradescope and the CSIF; | ||
4 | Apr 7 | Variables, basic types, arithmetic operators | zyBook, §2.1–2.9, 2.11–2.12; [5] |
5 | Apr 9 | Branching, relational operators, error handling | zyBook, §3.1–3.12, 3.16–3.19 |
6 | Apr 11 | Loops | zyBook, §6, 12.1 |
D2 | UNIX utilities: grep, sort, uniq, head, etc. | ||
7 | Apr 14 | Functions, writing programs | zyBook, §6.1–6.4 |
8 | Apr 16 | More about functions | zyBook, §6.5–6.9 |
9 | Apr 18 | Pointers | zyBook, §6.10–6.13, 8.1–8.2; [6] |
D3 | UNIX utilities: shells, redirection, piping | Shell, §6, 7, 11, 13; [7] | |
10 | Apr 21 | Pointers, arrays, basic macros | zyBook, §5.1–5.9, 5.14, 12.4, 6.16 |
11 | Apr 23 | C arrays and strings, output with printf | zyBook, §5.10–5.13, 5.15 |
12 | Apr 25 | C strings, recursion | zyBook, §10 |
D4 | UNIX utilities: find, etc. | Shell, §17 | |
13 | Apr 28 | More recursion | zyBook, §10 |
14 | Apr 30 | Chars as integers, string functions, comma operator | zyBook, §5.10–5.15 |
15 | May 2 | midterm in class | |
D5 | Review for midterm | ||
16 | May 5 | Input using scanf, file input and output | zyBook, §9; Shell, §12 |
17 | May 7 | Arrays of strings, command line arguments | zyBook, §12.3, 12.9 |
18 | May 9 | Structures, pointers to structures | zyBook, §7.1–7.4 |
D6 | Review midterm | ||
19 | May 12 | Dynamic memory allocation | zyBook, §8.3, 8.6–8.7 |
20 | May 14 | Linked lists, arrays of structures | zyBook, §8.10–8.12; CNotes, §11 |
21 | May 16 | Static and dynamic debugging; using gdb | |
D7 | bash shell scripts | Shell, §24–29 | |
22 | May 19 | Function pointers, unions, scope of variables | zyBook, §6.14; CNotes, §24 |
23 | May 21 | Binary notation, bits and bit operations | CNotes, §9 |
24 | May 23 | Unions and bits; C preprocessor | CNotes, §30, 56 |
D8 | More about bash shell scripts | Shell, §24–29 | |
— | May 26 | University holiday (Memorial Day); no class | |
25 | May 28 | C library functions | |
26 | May 30 | More C library functions; more gdb | |
D9 | To be arranged | ||
27 | Jun 2 | Multi-file queues; how the C compiler works | |
28 | Jun 4 | Managing large programs | |
D10 | Review for final | ||
— | Jun 12 | Final Exam, 8:00am–10:00am |
|
ECS 36A, Programming & Problem Solving Version of March 30, 2025 at 2:22PM
|
You can also obtain a PDF version of this. |