Software 1, Fall 98-9


Instructor: Dan Halperin
Sunday 16:00-19:00, LEV Auditorium
Office hours: Wednesday 16:00-17:00, Schreiber 114

Teaching Assistant: Sariel Har-Peled


Office hours: Thursday 11:00-12:00
Schreiber, MARTEF

The TIRGUL web page


The course will cover three topics:

 the C programming language,
 basic system software and the UNIX programming environment,
 introduction to C++.

A short bibliography for the course.

The main textbook used in the course: A Book on C---3rd or 4th Edition, by Kelley and Pohl. The book is at its 4th edition, but for all the course's purposes the 3rd edition is as good. One of the advantages of this book is that its example programs are available on-line: unix version / dos version.

The final grade will be determined by your assignments grade (25%) and the final exam (75%). To be eligible for a final grade students must submit ALL exercises. There will be four assignments, consisting mainly of programming exercises. The assignments distribution and submission will be coordinated by the TA (METARGEL).

During the course you will need an account on the school's UNIX machines. How to open an account.


Notice: The course is given in parallel by Daniel Cohen-Or. The final exams will not be identical---they will reflect some variations in the material covered in the two classes. Students will be required to take the exam of the class where they are registered.

Tentative course outline

Class summary / TIRGUL summary


Course handouts will be available here a few days before each class

Chapter 1, example programs, handout for the 1st lesson

Chapter 2, lexical elements, handout for the 1st lesson

Chapter 4, flow of control, handout for the 2nd lesson 13/12/98

Chapter 3, the fundamental data types, handout for the 3rd lesson 27/12/98

Chapter 5, functions, handout for 3/1/99

Chapter 6, arrays pointers and strings, handout for 10/1/99

Chapter 9, structures, handout for 17/1/99

Linked list, beginning of chapter 10, handout for 17/1/99

Chapter 7, bitwise operators, handout for 24/1/99

Chapter 8, the preprocessor, handout for 24/1/99

binary trees, from chapter 10, handout for 24/1/99

Chapter 11, I/O and the operating system, handout for 31/1/99

Chapter 12, UNIX process control and more, handout for 7/2/99

C++ 1, handout for 14/2/99

C++ 2, handout for 21/2/99


22 Feb 99