Software Project, Fall 2017-18


Instructor: Iris Gaber
Office hours: by appointment.
Teaching Assistant: Moshe Sulamy

Syllabus and Handouts

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:

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

Bibliography and Notes