Instructors: Roded
Sharan and Eli Packer
Office hours: by appointment.
Teaching Assistant: Moshe Sulamy
Course web site at Moodle TAU
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, which will be updated according to what is actually studied in class:
Week |
Date |
Lecture &
handouts |
Read more |
1 |
7/8 Mar |
Introduction to C (Chapter 1); Lexical elements and fundamental data types
(Chapters 2-3); Flow of control (Chapter
4) |
Floating point
representation; Binary
representation (bases) |
2 |
14/15 Mar |
The working
environment; Ex1 |
|
3 |
21/22 Mar |
Functions (Chapter 5); Runtime environment; Input & output |
|
4 |
26/27
Mar |
Pointers (Chapter 6); Ex2 |
|
5 |
11/12 Apr |
More on pointers; Preprocessor (Chapter 8) |
(Chapter 12.6); The preprocessor |
6 |
25/26 Apr |
Project Description & Ex3 |
|
7 |
2/3 May |
Project description cont. |
|
8 |
9/10 May |
Structures and Linked lists (Chapters
9-10); Make (Chapter 11) |
|
9 |
16/17 May |
Files
(Chapter 11, till 11.9); Bitwise operators (Chapter
7) |
|
10 |
23 May |
A guest lecture on secure programming |
|
11 |
24/30 May |
Large scale programming and testing |
|
12 |
6/7 Jun |
Concurrent
programming |
|
13 |
13/14 Jun |
Rehearsal |
Bibliography and Notes