Date | Topics | Reading | Due dates |
---|---|---|---|
August 23 (W) | About the course (Notes) | ||
August 25 (F) | Programming basics (Notes) | ||
August 28 (M) | Introduction to Linux; command-line basics and text editors (Notes) | My notes on CLI commands; my notes on vi; Dr. Lewis's video lectures on Linux and the command line (skip anything specific to Scala) | |
August 30 (W) | Command-line basics and text editors, continued (Notes) | ||
September 1 (F) | Introduction to C; variables, types, and I/O (Notes) | 1, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.10; my notes on gcc | |
September 4 (M) | Holiday | ||
September 6 (W) | Introduction to C, continued (Notes) | 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.9 | Homework 1: HTML, PDF |
September 8 (F) | Binary numbers (Notes) | D.1, D.2, D.3 | |
September 11 (M) | Conditional execution (Notes) | 5.1, 5.2, 5.3, 5.7, 5.9 | |
September 13 (W) | Conditional execution, continued (Notes) | Homework 2: HTML, PDF | |
September 15 (F) | Functions (Notes) | 4.1, 4.2, 4.3, 4.5, 4.6, 4.9 | |
September 18 (M) | Functions, continued (Notes) | Quiz 1 | |
September 20 (W) | Repetition via recursion (Notes) | 6.9 | |
September 22 (F) | Functions and recursion, continued (Notes) | Homework 3: HTML, PDF | |
September 25 (M) | Functions and recursion, more examples (Notes) | Quiz 2 | |
September 27 (W) | Loops (Notes) | 6.1, 6.2, 6.3, 6.4, 6.5, 6.7, 6.8, 6.12 | |
September 29 (F) | Loops, continued (Notes) | Homework 4: HTML, PDF | |
October 2 (M) | More loops (Notes) | ||
October 4 (W) | A little about ``random'' numbers; more loops (Notes) | Quiz 3 | |
October 6 (F) | Character I/O and files (Notes) | 7.1, 7.2, 7.3, 7.4, 7.5, 7.7 | Homework 5: HTML, PDF |
October 9 (M) | Review for midterm (Notes) | ||
October 11 (W) | Midterm exam | (Review in HTML, PDF) | |
October 13 (F) | Files, continued; command-line arguments; a little about gnuplot (Notes) | H.1, H.2; gnuplot tutorial (skim) | |
October 16 (M) | Arrays (Notes) | 8.1, 8.2, 8.3, 8.4, 8.7, 8.8 | |
October 18 (W) | Arrays, continued (Notes) | ||
October 20 (F) | Class recess | ||
October 23 (M) | Arrays, continued; (Notes) | 8.7, 8.8, 8.11 | Homework 6: HTML, PDF |
October 25 (W) | Sorting and searching (Notes) | 8.5, 8.6 | |
October 27 (W) | Order of magnitude of algorithms (Notes) | ||
October 30 (M) | Pointers (Notes) | 9.1, 9.2, 9.3, 9.4, 9.5, 9.7, 10.1, 10.2, 10.3 | Quiz 4 |
November 1 (W) | Dynamic memory allocation (Notes) | 10.4, 10.5, 10.6, 10.8 | Homework 7: HTML, PDF |
November 3 (F) | Strings (Notes) | 11.1, 11.2, 11.3, 11.4, 11.5, 11.7, 11.9 | |
November 6 (M) | Strings and 2D arrays, continued (Notes) | ||
November 8 (W) | 2D arrays, continued; about Homework 9 (Notes) | ||
November 10 (F) | User-defined types (Notes) | 12.1, 12.2, 12.3, 12.4 (skim), 12.7 | |
November 13 (M) | User-defined types, continued (Notes) | Quiz 5; Homework 8: HTML, PDF | |
November 15 (W) | User-defined types, continued; functions as parameters to other functions (Notes) | ||
November 17 (F) | Separate compilation and UNIX make (Notes) | K.1, K.2; "Simple Makefile Tutorial" (skim) | |
November 20 (M) | A little about sscanf; a little about binary files (Notes) | 13.1, 13.2, 13.6, 13.8 (skim all) | Homework 9: HTML, PDF (accepted without penalty through 11/27) |
November 22 (W) | Holiday | ||
November 24 (F) | Holiday | ||
November 27 (M) | A little about working with individual bits (Notes) | 14.1, 14.2, 14.3, 14.4 (skim all) | |
November 29 (W) | Linked data structures (Notes) | 15.1, 15.2 | Quiz 6 |
December 1 (F) | Linked data structures, continued (Notes) | 15.3, 15.4, 15.5, 15.6, 15.7, 15.8 | |
December 4 (M) | Course wrap-up and evaluations (Notes) | Homework 10: HTML, PDF | |
December 12 (T), noon | Final exam | (Review in HTML, PDF) | "Not accepted past" date for all homeworks except extra-credit (11:59pm) |
December 13 (W), noon | (Not a class or exam day) | Homework X (optional extra credit): HTML, PDF (not accepted late) |