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: Thu Feb 26 09:24:14 2009)
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 | ||||
Tuesday | Course introduction, getting acquainted with UNIX and emacs | Books24x7 "Linux: The Complete Reference" (9780078824616) Chapters 6 and 7 (only first 3 subsections of 7), "Mastering Unix" (9780782128178) Chapter 18 |
||
Thursday | C Introduction | K&R: Chapter 1 Books24x7 "Linux Programming Bible" (9780764546570) Chapter 6 |
Week 0 | |
| Week 1 | ||||
Tuesday | C: Types, operators, and expressions | K&R: Chapter 2 | ||
Thursday | C: Control Flow | K&R: Chapter 3 | Week 1 Solutions |
|
| Week 2 | ||||
Tuesday | C: Functions and program structure | K&R: Sections 4.1-4.6, 4.10 | ||
Thursday | C: Pointers and arrays | K&R: 5.1-5.5 | Week 2 Solutions |
|
| Week 3 | ||||
Tuesday | C: Pointers and arrays | K&R: 5.6-5.10 | ||
Thursday | Debugging | Books24x7 "Linux Programming Bible" (9780764546570) Chapter 10 | Week 3 | |
| Week 4 | ||||
Tuesday | C: Structures | K&R: 6.1-6.7 | ||
Thursday | C: Input and Output | K&R: Chapter 7 | Fun with Pointers | |
| Week 5 | ||||
Tuesday | gprof, gcov, and valgrind | Books24x7 "GNU/Linux Application Programming" (9781584503712) Chapters 5,7,8 | ||
Thursday | UNIX Shell usage, C "system()" | Books24x7 "Linux: The Complete Reference" (9780078824616) Chapter 6 (reread this) | ||
| Week 6 | ||||
Tuesday | File manipulation, system, pipes and redirects | |||
Thursday | Review | Final Lab | ||
| Week 7 | ||||
Tuesday | No class, finals week | |||
Thursday | No class, finals week | |||