The course is designed to provide a brief introduction to UNIX and the C programming language. This will include the coverage of command line UNIX, the emacs text editor, the GNU compilers, and introductory C. The coverage of C will consist of basic syntax, loops, functions (including basic recursion), pointers, arrays, strings, structs, I/O, and an assortment of system libraries. The UNIX coverage will focus on a command line oriented environment, though the X windowing system will be introduced. The emphasis will be on commonly used utilities, such as file system navigation and manipulation, text manipulation, and development oriented utilities.
(Last updated: Wed Oct 17 10:12:26 2007)
This schedule will be revised throughout the semester, so check back frequently! Also, keep in mind that the schedule is open to change. If we need to spend more time on a topic, we will.
All homework and readings will be posted on this schedule, complete with due dates. Readings posted on a given class day are expected to be read by that class day! All labs will be posted here as well. Supplementary material will be posted here, but will also be given a link at the top of the page.
| Date | Topic | Readings |
Assignment |
|
|---|---|---|---|---|
| Week 0 | ||||
Monday | Introduction | |||
Wednesday | Getting acquainted with UNIX and C | K&R: Chapter 1, A&L: Chapter 1 | Week 0 | |
| Week 1 | ||||
Monday | C: Types, operators, and expressions | K&R: Chapter 2 (excluding 2.9) | ||
Wednesday | UNIX: File system | A&L: 2.7-2.9 (reference) | Week 1 | |
| Week 2 | ||||
Monday | C: Control Flow | K&R: Sections 3.1-4.2, Code from class | ||
Wednesday | UNIX: File manipulation and location | A&L: Sections 3.1-3.9.2, 3.10.2, 3.12, 3.13.2, 3.14.2, 3.17 | Week 2 | |
| Week 3 | ||||
Monday | C: Functions and program structure | K&R: Sections 4.1-4.2 | ||
Wednesday | UNIX: Shell | A&L: 6.6-6.10, 6.13, 6.17-6.19, 6.23, 6.25 | Week 3 | |
| Week 4 | ||||
Monday | C: Pointers and arrays | K&R: 5.1-5.5 | ||
Wednesday | C: Pointers and arrays | K&R: 5.6-5.10 | Week 4 | |
| Week 5 | ||||
Monday | C: Structures | K&R: 6.1-6.7 | ||
Wednesday | UNIX: Communications | Week 5 | ||
| Week 6 | ||||
Monday | C: Input and Output | K&R: Chapter 7 | ||
Wednesday | UNIX: Development Tools | Linux Development Environment: Chapters 2.2.5, 3.3, 3.7, 4, 5 | ||
| Week 7 | ||||
Monday | Question Session | |||
Wednesday | Interesting Tricks in C | |||