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

#datetopicreadings
1.Apr3Intro to UNIX/Linux and C; the CSIFShell, §1–4; [1, 7]
2.Apr5Intro to C; quick overview of compilingzy, §1; [3, 4]
3.Apr7Overview of writing C programs on CSIFzy, §2.20; [2]
D–DiscsecNo discussion section this week
4.Apr10Variables, basic types, arithmetic operatorszy, §2.1–2.9, 2.11–2.12; [5]
5.Apr12Branching, relational operators, error handlingzy, §3.1–3.12, 3.16–3.19
6.Apr14Loopszy, §6, 12.1
D1.DiscsecUNIX utilities: grep, sort, uniq, head, etc.
7.Apr17Functions, writing programszy, §6.1–6.4
8.Apr19More about functionszy, §6.5–6.9
9.Apr21Pointerszy, §6.10–6.13, 8.1–8.2; [6]
D2.DiscsecUNIX utilities: shells, redirection, pipingShell, §6, 7, 11, 13; [7]
10.Apr 24Pointers, arrays, basic macroszy, §5.1–5.9, 5.14, 12.4, 6.16
11.Apr 26C arrays and strings, output with printfzy, §5.10–5.13, 5.15
12.Apr28C strings, recursionzy, §10
D3.DiscsecReview for midterm
13.May1More recursionzy, §10
14.May3Chars as integers, string functions, comma operator  zy, §5.10–5.15
15.May5midterm in class
D4.DiscsecUNIX utilities: find, etc.Shell, §17
16.May8Input using scanf, file input and outputzy, §9; Shell, §12
17.May10Arrays of strings, command line argumentszy, §12.3, 12.9
18.May12Structures, pointers to structureszy, §7.1–7.4
D5.DiscsecReview midterm
19.May15Dynamic memory allocationzy, §8.3, 8.6–8.7
20.May17Linked lists, arrays of structureszy, §8.10–8.12; C Notes, §11
21.May19Static and dynamic debugging; using gdb
D6.Discsecbash shell scriptsShell, §24–29
22.May22Function pointers, unions, scope of variableszy, §6.14; C Notes, §24
23.May24Binary notation, bits and bit operationsC Notes, §9
24.May26Unions and bits; C preprocessorC Notes, §30, 56
D7.DiscsecMore about bash shell scriptsShell, §24–29
—.May29University holiday (Memorial Day); no class
25.May31C library functions
26.Jun2More C library functions; more gdb
D–DiscsecNo discussion section this week
27.Jun4Multi-file queues; how the C compiler works
28.Jun6Managing large programs
29.Jun8Review for final; end of instruction
D8.DiscsecReview for final
—.Jun9Final Exam, 10:30am–12:30pm

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 April 5, 2023 at 10:44AM

You can also obtain a PDF version of this.

Valid HTML 4.01 Transitional Built with BBEdit Built on a Macintosh