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

#datetopicreadings
1Mar 31Intro to UNIX/Linux and C; the CSIFShell, §1–4; [1, 7]
2Apr 2Intro to C; quick overview of compilingzyBook, §1; [3, 4]
3Apr 4Overview of writing C programs on CSIFzyBook, §2.20; [2]
D1Using gradescope and the CSIF;
4Apr 7Variables, basic types, arithmetic operatorszyBook, §2.1–2.9, 2.11–2.12; [5]
5Apr 9Branching, relational operators, error handlingzyBook, §3.1–3.12, 3.16–3.19
6Apr 11LoopszyBook, §6, 12.1
D2UNIX utilities: grep, sort, uniq, head, etc.
7Apr 14Functions, writing programszyBook, §6.1–6.4
8Apr 16More about functionszyBook, §6.5–6.9
9Apr 18PointerszyBook, §6.10–6.13, 8.1–8.2; [6]
D3UNIX utilities: shells, redirection, pipingShell, §6, 7, 11, 13; [7]
10Apr 21Pointers, arrays, basic macroszyBook, §5.1–5.9, 5.14, 12.4, 6.16
11Apr 23C arrays and strings, output with printfzyBook, §5.10–5.13, 5.15
12Apr 25C strings, recursionzyBook, §10
D4UNIX utilities: find, etc.Shell, §17
13Apr 28More recursionzyBook, §10
14Apr 30Chars as integers, string functions, comma operator zyBook, §5.10–5.15
15May 2midterm in class
D5Review for midterm
16May 5Input using scanf, file input and outputzyBook, §9; Shell, §12
17May 7Arrays of strings, command line argumentszyBook, §12.3, 12.9
18May 9Structures, pointers to structureszyBook, §7.1–7.4
D6Review midterm
19May 12Dynamic memory allocationzyBook, §8.3, 8.6–8.7
20May 14Linked lists, arrays of structureszyBook, §8.10–8.12; CNotes, §11
21May 16Static and dynamic debugging; using gdb
D7bash shell scriptsShell, §24–29
22May 19Function pointers, unions, scope of variableszyBook, §6.14; CNotes, §24
23May 21Binary notation, bits and bit operationsCNotes, §9
24May 23Unions and bits; C preprocessorCNotes, §30, 56
D8More about bash shell scriptsShell, §24–29
May 26University holiday (Memorial Day); no class
25May 28 C library functions
26May 30 More C library functions; more gdb
D9To be arranged
27Jun 2Multi-file queues; how the C compiler works
28Jun 4Managing large programs
D10 Review for final
Jun 12Final Exam, 8:00am–10:00am


Handouts

  1. Quick Guide to UNIX [unix-quick.pdf]
  2. vim Tutorial [vim.pdf]
  3. Compiling and Executing Your Program [compiling.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]


UC Davis sigil
Matt Bishop
Office: 2209 Watershed Sciences
Phone: +1 (530) 752-8060
Email: mabishop@ucdavis.edu
ECS 36A, Programming & Problem Solving
Version of March 30, 2025 at 2:22PM

You can also obtain a PDF version of this.

Valid HTML 4.01 Transitional Built with BBEdit Built on a Macintosh