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. “C text” is the C text book. “Shell text” is the shell text book. “§n” means chapter or section n of the named book. “[n]” means handout n. “Dn” means discussion number n.
# | date | topic | readings |
---|---|---|---|
1. | Sep 25 | Intro to UNIX/Linux; compiling a C program | Shell text §12, 23; [1–3] |
2. | Sep 27 | The CSIF; how to write a program/algorithms | C text §3.3–3.3; [4] |
D— | no discussion section | ||
3. | Sep 30 | C program basics, variables, arithmetic operators | C text §2; [5] |
4. | Oct 2 | Relations, loops, basic error handling | C text, §4.1–4.5, 4.7–4.8, 5.1–5.8 |
5. | Oct 4 | Input using scxanf, basic C programming | C text, §2.4 |
D1. | UNIX file system, commands | Shell text, §1–3, 9; [2] | |
6. | Oct 7 | Program design | C text, §3.3, 4.6 |
7. | Oct 9 | Introduction to functions | C text, §3.4–3.5, 6.4, 12.4 |
8. | Oct 11 | Functions, scope; introduction to pointers | C text, §3.4–3.5, 6.1–6.5, 12.4 |
D2. | UNIX utilities: grep, sort, uniq, head, etc. | Shell text, §4, 5, 10 | |
10. | Oct 14 | Pointers and arrays | C text, §7.1–7.6; [6] |
9. | Oct 16 | C strings and character representation | C text, §8 |
11. | Oct 18 | Recursion | C text, §9 |
D3. | UNIX utilities: shells | Shell text, §6, 7, 19; [7] | |
12. | Oct 21 | C strings, more on recursion | C text, §8, 9 |
13. | Oct 23 | Still more recursion | C text, §8, 9 |
14. | Oct 25 | Standard I/O Library | C text, §11 |
D4. | Review for midterm | ||
15. | Oct 28 | midterm in class | |
16. | Oct 30 | Command-line arguments, environment variables | C text, §12.7; Shell text, §12 |
17. | Nov 1 | Structures, unions, enums, other data types | C text, §10 |
D5. | UNIX utilities: find, etc. | ||
18. | Nov 4 | C preprocessor | C text, §2.1, 12.6, 12.8 |
19. | Nov 6 | to be arranged | |
20. | Nov 8 | System calls | |
D6. | Review midterm | ||
— | Nov 11 | University holiday (Veterans Day); no class | |
21. | Nov 13 | Other libraries | C text, §12.1–12.3, 12.5 |
22. | Nov 15 | Writing large programs, makefiles | |
D7. | UNIX shell scripts | Shell text, § 24–29 | |
23. | Nov 18 | Dynamic memory allocation | C text, §13.1–13.2 |
24. | Nov 20 | Data structures: linked lists | C text, §13.3–13.7 |
25. | Nov 22 | Data structures: binary trees | C text, §13.8 |
D8. | Memory management | ||
26. | Nov 25 | Robust programming | [8] |
27. | Nov 27 | Robust programming | |
— | Nov 29 | University holiday (Thanksgiving); no class | |
D— | no discussion section | ||
28. | Dec 2 | to be arranged | |
29. | Dec 4 | to be arranged | |
30. | Dec 6 | Review for final; end of instruction | |
D9. | Review for final | ||
— | Dec 11 | Final Exam, 1:00pm–3:00pm |
|
ECS 36A, Programming and Problem Solving Version of October 22, 2019 at 10:55PM
|
You can also obtain a PDF version of this. |