Lecture Notes

The instructor reserves the right to update the notes right up to class time and within two weeks after each corresponding lecture. Check the time and date at the bottom left corner of the slides to make sure you have the most up-to-date version.

Course Information

Introduction to C - Basic I/O - Reading: Chapter 1
LAB 1
Homework: What are the outputs of these C programs?
References: Floating-point numbers; EOF character

More example C programs - Reading: Chapter 1

Arrays and Control Flow - Reading: Section 1.6 and Chapter 3
LAB 2

Types, Operators and Expressions - Reading: Chapter 2
References: C data types; Unicode in C; How to convert from octal or hexadecimal to decimal.

Pointers (part 1) - Reading: Chapter 5

Structures - Reading: Chapter 6
Reference: C programming FAQ

C programming exercises (with solutions)
Note:: If you do not have time to solve all problems on that page, focus on sections "Array", "Pointer" and "String".

Pointers and Arrays (part 2) - Reading: Chapter 5

File I/O - Reading: Section 7.5

Introduction to UNIX - Reference
References: UNIX file types, The Strange Birth and Long Life of Unix, IEEE Spectrum, Decmber 2011

Introduction to UNIX - part 2 - Reference
Reference: chmod tutorial

Writing Shell Scripts - Reading: this tutorial (will be posted on Nov. 20 and removed on Nov. 24)

Shell Script Control Structures - Reading: the above tutorial (scanned notes).
Reference: Bourne shell tutorial

Writing Shell Scripts - part 3 - Reading: the above tutorial (scanned notes); this tutorial.

Bitwise Operators - Reading: C book, section 2.9

Brief review