A290: UNIX and C

TR 17:45 - 19:00, LH 115

Instructor: D. Kevin McGrath

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.

Office Hours:

Helpful Links:


Schedule:

(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
01/13

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
01/15

C Introduction K&R: Chapter 1
Books24x7 "Linux Programming Bible" (9780764546570) Chapter 6
Week 0
Week 1

Tuesday
01/20

C: Types, operators, and expressions K&R: Chapter 2

Thursday
01/22

C: Control Flow K&R: Chapter 3 Week 1
Solutions
Week 2

Tuesday
01/27

C: Functions and program structure K&R: Sections 4.1-4.6, 4.10

Thursday
01/29

C: Pointers and arrays K&R: 5.1-5.5 Week 2
Solutions
Week 3

Tuesday
02/03

C: Pointers and arrays K&R: 5.6-5.10

Thursday
02/05

Debugging Books24x7 "Linux Programming Bible" (9780764546570) Chapter 10 Week 3
Week 4

Tuesday
02/10

C: Structures K&R: 6.1-6.7

Thursday
02/12

C: Input and Output K&R: Chapter 7 Fun with Pointers
Week 5

Tuesday
02/17

gprof, gcov, and valgrind Books24x7 "GNU/Linux Application Programming" (9781584503712) Chapters 5,7,8

Thursday
02/19

UNIX Shell usage, C "system()" Books24x7 "Linux: The Complete Reference" (9780078824616) Chapter 6 (reread this)
Week 6

Tuesday
02/24

File manipulation, system, pipes and redirects

Thursday
02/26

Review Final Lab
Week 7

Tuesday
03/03

No class, finals week

Thursday
03/05

No class, finals week

D. Kevin McGrath
Last modified: Thu Aug 27 20:55:31 2009