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. “zy” is the Programming in C zyBook, “C Notes” 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. center>
# | date | topic | readings | |
---|---|---|---|---|
1. | Apr | 3 | Intro to UNIX/Linux and C; the CSIF | Shell, §1–4; [1, 7] |
2. | Apr | 5 | Intro to C; quick overview of compiling | zy, §1; [3, 4] |
3. | Apr | 7 | Overview of writing C programs on CSIF | zy, §2.20; [2] |
D– | Disc | sec | No discussion section this week | |
4. | Apr | 10 | Variables, basic types, arithmetic operators | zy, §2.1–2.9, 2.11–2.12; [5] |
5. | Apr | 12 | Branching, relational operators, error handling | zy, §3.1–3.12, 3.16–3.19 |
6. | Apr | 14 | Loops | zy, §6, 12.1 |
D1. | Disc | sec | UNIX utilities: grep, sort, uniq, head, etc. | |
7. | Apr | 17 | Functions, writing programs | zy, §6.1–6.4 |
8. | Apr | 19 | More about functions | zy, §6.5–6.9 |
9. | Apr | 21 | Pointers | zy, §6.10–6.13, 8.1–8.2; [6] |
D2. | Disc | sec | UNIX utilities: shells, redirection, piping | Shell, §6, 7, 11, 13; [7] |
10. | Apr | 24 | Pointers, arrays, basic macros | zy, §5.1–5.9, 5.14, 12.4, 6.16 |
11. | Apr | 26 | C arrays and strings, output with printf | zy, §5.10–5.13, 5.15 |
12. | Apr | 28 | C strings, recursion | zy, §10 |
D3. | Disc | sec | Review for midterm | |
13. | May | 1 | More recursion | zy, §10 |
14. | May | 3 | Chars as integers, string functions, comma operator | zy, §5.10–5.15 |
15. | May | 5 | midterm in class | |
D4. | Disc | sec | UNIX utilities: find, etc. | Shell, §17 |
16. | May | 8 | Input using scanf, file input and output | zy, §9; Shell, §12 |
17. | May | 10 | Arrays of strings, command line arguments | zy, §12.3, 12.9 |
18. | May | 12 | Structures, pointers to structures | zy, §7.1–7.4 |
D5. | Disc | sec | Review midterm | |
19. | May | 15 | Dynamic memory allocation | zy, §8.3, 8.6–8.7 |
20. | May | 17 | Linked lists, arrays of structures | zy, §8.10–8.12; C Notes, §11 |
21. | May | 19 | Static and dynamic debugging; using gdb | |
D6. | Disc | sec | bash shell scripts | Shell, §24–29 |
22. | May | 22 | Function pointers, unions, scope of variables | zy, §6.14; C Notes, §24 |
23. | May | 24 | Binary notation, bits and bit operations | C Notes, §9 |
24. | May | 26 | Unions and bits; C preprocessor | C Notes, §30, 56 |
D7. | Disc | sec | More about bash shell scripts | Shell, §24–29 |
—. | May | 29 | University holiday (Memorial Day); no class | |
25. | May | 31 | C library functions | |
26. | Jun | 2 | More C library functions; more gdb | |
D– | Disc | sec | No discussion section this week | |
27. | Jun | 4 | Multi-file queues; how the C compiler works | |
28. | Jun | 6 | Managing large programs | |
29. | Jun | 8 | Review for final; end of instruction | |
D8. | Disc | sec | Review for final | |
—. | Jun | 9 | Final Exam, 10:30am–12:30pm |
|
ECS 36A, Programming & Problem Solving Version of April 5, 2023 at 10:44AM
|
You can also obtain a PDF version of this. |