Note on reading assignments: Since I didn't specify any one specific textbook as required for this course, I've listed readings from several different sources: the "UNIX in a Nutshell" book, the Stroustrup book, the Weiss book, and various on-line tutorials. I don't expect you to read all of these for any particular topic, but for each topic, you should read about it from at least one source, and preferably two.
| Date | Assignment | Reading | Subject |
|---|---|---|---|
| Sep 01 | Introduction; what's an OS? What's Unix? Where are we meeting? | ||
| Sep 06 | Command-line vs. GUI; logging on; ls, date, passwd, man | ||
| Sep 08 | cat, more, I/O redirection, pipes & filters, mv, cp, rm, mkdir, rmdir, cd, head, tail, sort, grep, tr | ||
| Sep 13 | startup files, editing | ||
| Sep 13 | Last day to add classes | ||
| Sep 15 | Nutshell chaps. 1,3,4,7,9; UNIXhelp |
catch up | |
| Sep 20 | exercises using cut, wc, globbing | ||
| Sep 22 | HW1; HW2 | command-line shell features; environment variables; tee, find, backquote | |
| Sep 27 | processes and jobs | ||
| Sep 28 | Last day to drop classes | ||
| Sep 29 | HW1 due | Nutshell chaps. 10, 11 | the power of editing; sed, awk |
| Oct 04 | Nutshell chap. 4; UNIXhelp on shell scripts |
shell scripting | |
| Oct 06 | catch up and review | ||
| Oct 11 | HW2 due | Weiss chaps. 0-1; Stroustrup chaps. 1, 2; Horstmann tutorial sections 3.1,3.2,3.5,3.7 |
C/C++: history & philosophy, promises; using a C++ compiler; I/O |
| Oct 13 | Stroustrup chaps. 4,6,7; UW tutorial lessons 1 and 2 |
C/C++: functions, parameter passing; C++ I/O | |
| Oct 18 | HW3 | Functions and parameter passing in C++ | |
| Oct 20 | Weiss chaps. 2, 11; Stroustrup chap. 5; Horstmann section 3.8 |
C/C++: arrays, C strings, and pointers | |
| Oct 25 | HW3 due; HW4 | Stroustrup chap. 9 | C/C++: separate compilation, header files, preprocessor |
| Oct 27 | Nutshell chap. 16; Make tutorial | make: managing compilation; version control | |
| Nov 01 | HW4 due | Nutshell chap. 17; Weiss chap. 3 | C/C++: memory management; gdb debugger |
| Nov 02 | Last day to withdraw from classes | ||
| Nov 03 | HW5 | Weiss chap. 12 | C/C++ in Unix: command line arguments and environment variables |
| Nov 08 | HW6 | C/C++ in Unix: system calls | |
| Nov 10 | HW5 due; HW7 | Weiss chap. 4; Stroustrup chap. 10; Horstmann sections 3.3, 3.4; UW lessons 3 and 4 |
C/C++: classes, constructors, destructors, etc. |
| Nov 15 | Weiss chap. 5; Stroustrup chap. 11; UW lesson 5 |
C/C++: operator overloading | |
| Nov 17 | HW6 due | Weiss chap. 6; Stroustrup chap. 12 |
C/C++: inheritance and polymorphism |
| Nov 22 | HW7 due; HW8 | Weiss chaps. 7, 8; Stroustrup chaps. 13, 14 | C/C++: templates and exceptions |
| Nov 24 | Thanksgiving; no classes | ||
| Nov 29 | HW9 | lex/flex: a domain-specific language for scanning simple syntax | |
| Dec 01 | yacc/bison: a DSL for hierarchical syntax | ||
| Dec 06 | HW8 due | catch up and review | |
| Dec 08 | review for final exam | ||
| Dec 13 | HW9 due | Make-up day (in case of missed classes) | |
| Dec 20 | 271 final exam, 10:30-12:30 | ||