Syllabus and Handouts
The course consists of two parts. The first part focuses on learning the C programming language; the second part will be devoted for describing the project and advanced topics in C and UNIX.
There will be 3 exercises and a project. Submission of all is mandatory.
The grade will be determined as follows: exercises (5% ex1; 5% ex2; 10% ex3), project (50%) and final exam (30%).
The main textbook used in the course: ‘A Book on C’, 4th Edition by Kelley and Pohl. Example programs from the book
Following is a tentative outline of the course:
Week | Date | Lecture & Handouts | Read more |
---|---|---|---|
1 | 24 Oct | Introduction to C (Chapter 1); Lexical elements and fundamental data types (Chapters 2-3) | Floating point representation; Binary representation (bases) |
2 | 31 Oct | Flow of control (Chapter 4); Functions (Chapter 5); Runtime environment | |
3 | 7 Nov | The working environment; Ex1 | Basic UNIX commands; Programming Environment |
4 | 14 Nov | Input & output; arrays & strings | |
5 | 21 Nov | Pointers (Chapter 6); Ex2 | |
6 | 28 Nov | More on pointers; Preprocessor (Chapter 8) | Dynamic matrix allocation (Chapter 12.6); The preprocessor |
7 | 5 Dec | Project description & Large scale programming; Ex3 | |
8 | 12 Dec | Structures and Linked lists (Chapters 9-10) | |
9 | 19 Dec | Project description cont. | SDL |
10 | 26 Dec | Files (Chapter 11, till 11.9) | |
11 | 2 Jan | Concurrent programming | |
12 | 9 Jan | Bitwise operators (Chapter 7); Make (Chapter 11) | |
13 | 16 Jan | Rehearsal |