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); Bitwise operators (Chapter 7); Make (Chapter 11)|
|11||2 Jan||Secure programming|
|12||9 Jan||Concurrent programming|