Software Project, Spring 2013
0368-2161

 

Instructors: Roded Sharan and Yehuda Afek

Office hours: by appointment.

Teaching Assistants: Dana Silverbush and Yuval Rochman

 


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, which will be updated according to what is actually studied in class:

 

Week

Date

Lecture & handouts

Read more

1

27/8 Feb

Introduction to C (Chapter 1)

2

6/7 Mar

The working environment & Ex. 1 

Basic UNIX commands; Programming Environment

3

13/4 Mar

Lexical elements and fundamental data types (Chapters 2-3); Flow of control (Chapter 4)

Floating point representation; Binary representation (bases)

4

3/4 Apr

Functions (Chapter 5); Runtime environment

 

5

10/1 Apr

Input & Output; Bitwise operators (Chapter 7); Make (Chapter 11) & Ex2

6

17/8 Apr

Arrays and pointers (Chapter 6)

7

24/5 Apr

Secure programming

8

1/2 May

Concurrent programming

9

8/9 May

More on pointers & Ex3              

Dynamic matrix allocation

(Chapter 12.6)

10

22/16 May

Structures and Linked lists (Chapters 9-10); Preprocessor (Chapter 8) 

The preprocessor

11

29/30 May

Project description (I)

12

5/6 Jun

Project description (II)

 

13

12/3 Jun

Files (Chapter 11, till 11.9)

14

19/20 Jun

Rehearsal

 



Bibliography and Notes

Bibliography