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. |