Planned Syllabus

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.

#datetopicreadings
1.Sep 25Intro to UNIX/Linux; compiling a C program Shell text §12, 23; [1–3]
2.Sep 27The CSIF; how to write a program/algorithmsC text §3.3–3.3; [4]
D—no discussion section
3.Sep 30C program basics, variables, arithmetic operatorsC text §2; [5]
4.Oct 2Relations, loops, basic error handlingC text, §4.1–4.5, 4.7–4.8, 5.1–5.8
5.Oct 4Input using scxanf, basic C programmingC text, §2.4
D1.UNIX file system, commandsShell text, §1–3, 9; [2]
6.Oct 7Program designC text, §3.3, 4.6
7.Oct 9Introduction to functionsC text, §3.4–3.5, 6.4, 12.4
8.Oct 11Functions, scope; introduction to pointersC 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 14Pointers and arraysC text, §7.1–7.6; [6]
9.Oct 16C strings and character representationC text, §8
11.Oct 18RecursionC text, §9
D3.UNIX utilities: shellsShell text, §6, 7, 19; [7]
12.Oct 21C strings, more on recursionC text, §8, 9
13.Oct 23Still more recursion C text, §8, 9
14.Oct 25Standard I/O Library C text, §11
D4.Review for midterm
15.Oct 28midterm in class
16.Oct 30Command-line arguments, environment variables C text, §12.7; Shell text, §12
17. Nov 1Structures, unions, enums, other data types C text, §10
D5.UNIX utilities: find, etc.
18.Nov 4C preprocessorC text, §2.1, 12.6, 12.8
19.Nov 6to be arranged
20.Nov 8System calls
D6.Review midterm
Nov 11University holiday (Veterans Day); no class
21.Nov 13Other librariesC text, §12.1–12.3, 12.5
22.Nov 15 Writing large programs, makefiles
D7.UNIX shell scriptsShell text, § 24–29
23.Nov 18Dynamic memory allocationC text, §13.1–13.2
24.Nov 20Data structures: linked listsC text, §13.3–13.7
25.Nov 22Data structures: binary treesC text, §13.8
D8.Memory management
26.Nov 25Robust programming[8]
27.Nov 27Robust programming
Nov 29University holiday (Thanksgiving); no class
D—no discussion section
28.Dec 2to be arranged
29.Dec 4to be arranged
30.Dec 6 Review for final; end of instruction
D9.Review for final
Dec 11Final Exam, 1:00pm–3:00pm

Handouts

  1. Compiling and Executing Your Program, compiling.pdf
  2. Quick Guide to UNIX, unix-quick.pdf
  3. vim Tutorial vim.pdf
  4. Writing a Program, writingprogram.pdf
  5. Precedence and Associativity of C Operators, associativity.pdf
  6. Pointer stew, ptrstew.pdf
  7. Processes and the Shell, processes.pdf
  8. Robust Programming, robust.pdf

UC Davis sigil
Matt Bishop
Office: 2209 Watershed Sciences
Phone: +1 (530) 752-8060
Email: mabishop@ucdavis.edu
ECS 36A, Programming and Problem Solving
Version of October 22, 2019 at 10:55PM

You can also obtain a PDF version of this.

Valid HTML 4.01 Transitional Built with BBEdit Built on a Macintosh