Software Project, Spring 2017
0368-2161

 

Instructors: Roded Sharan and Eli Packer

Office hours: by appointment.

Teaching Assistant: Moab Arar

 


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

15/16 Mar

Introduction to C (Chapter 1); Lexical elements and fundamental data types (Chapters 2-3)

Floating point representation; Binary representation (bases)

2

22/23 Mar

The working environment; Ex1

Basic UNIX commands; Programming Environment

3

29/30 Mar

Flow of control (Chapter 4); Functions (Chapter 5); Runtime environment

4

19/20 Apr

Input & output; arrays & strings; Ex2

5

26/27 Apr

Pointers (Chapter 6)

6

3/4 May

More on pointers; Preprocessor (Chapter 8)

Dynamic matrix allocation

(Chapter 12.6); The preprocessor

7

10/11 May

Project Description & Large scale programming; Ex3

8

17/18 May

Project description cont.

9

24 May/1 Jun

Project description cont.; Structures and Linked lists (Chapters 9-10)

10

7/8 Jun

Files (Chapter 11, till 11.9); Bitwise operators (Chapter 7); Make (Chapter 11) 

11

14/15 Jun

Secure programming

12

21/22 Jun

Concurrent programming

 

13

28/29 Jun

Rehearsal



Bibliography and Notes

Bibliography