Software Project, Spring 2018
0368-2161

 

Instructors: Roded Sharan and Eli Packer

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, 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

Basic UNIX commands; Programming Environment

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)

Dynamic matrix allocation

(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

Bibliography