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, “C Notes” is the C Notes book. “Shell book” 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
  1.Apr  2Intro to UNIX/Linux, the CSIF, basic commands, first C programShell book, §1–4; zyBook, §1; [1, 2, 3, 4]
  2.Apr  4Second C program, introduction to debugging, variables, basic types, arithmetic operatorszyBook, §1, 2.1–2.8, 2.11–2.14, 2.16, 2.8, 2.20; [3–4]
—.No discussion section this week
  3.Apr  9True and false; relations, conditional statements; loops; scanfzyBook, §2.20, 3.1–3.12, 3.16–3.19, 4.1–4.5, 4.9
  4.Apr 11Functions, basic pointerszyBook, §6.1–6.8
Dis secUNIX utilities: grep, sort, uniq, head, etc.
  5.Apr 16Pointers, arrayszyBook, §5.12, 6.5–6.7
  6.Apr 18C arrays and strings, chars as intszyBook, §6.5–6.9
Dis secUNIX utilities: shells, redirection, pipingShell book, §6, 7, 11, 13; [7]
  7.Apr 23Output with printf, input with scanf, basic preprocessor macroszyBook, §2.20, 6.16, 12.4
  8.Apr 25Recursion basicszyBook, §10.1–10.2, 10.5, 10.8
Dis secStrings. arrays, and characters
  9.Apr 30String functions, comma operator, command line argumentszyBook, §10, 12.3, 8.5
10.May  2Review for Midterm
Dis secReview for midterm
11.May  7 midterm (in class)
12.May  9 File input, output, manipulation zyBook. §9.1, 9.4, 12.17, 12.19
—.No discussion section this week
13.May 14Dynamic memory allocationzyBook, §8.3, 8.6–8.7
14.May 1607nked lists, arrays of structures, gdb debuggerzyBook, §8.10–8.12; C Notes, §11
Dis sec Review midterm answers
15.May 21Function pointers, unions, scope of variables, more on gdbC Notes, §9
16.May 23Binary notation, bits and bit operationsC Notes, §9
Dis secMore about structures, binary trees, bases 2, 8, 16
17. May 28C and math library functions
18. May 30Makefiles and multi-file programs
Dis secSource code management systems
19. Jun 4Managing large programs: structure and organization
20. Jun 6to be arranged
Dis secReview for final
—.Jun 12Final 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
  8. The Dynamic Debugger gdb, gdb.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 May 17, 2024 at 11:27AM

You can also obtain a PDF version of this.

Valid HTML 4.01 Transitional Built with BBEdit Built on a Macintosh