OBJECT ORIENTED
PROGRAMMING WITH C++ 
0368-3015-20 / 21
Course
Stuff:
Lecturer: Ohad Barzilay
Drawer: Schreiber
391.
Office: Wolfson building
for Software Engineering, room 209
Phone: 03 640 5549
Email: 
Grader: Alexander (Sasha) Alperovich
Drawer: Schreiber 400.
Email:
sashaal@post.tau.ac.il
Additional means of Communication: [Course Forum]
[Mailing list
Archive] [Virtual TAU]
[Exam][Lecture Slides] [Recitation
Slides] [Homework] [Useful links] [Books]
[Grades]

Exam:
Will be on Tuesday, 20/9/2005 at 9:00am
[download exam] [download solution]
MOED
BET: Will be on Tuesday, 15.11.05
at 14:00pm
[download exam] [download solution]
Monopoly
Submission:
submission of the monopoly exercise is scheduled for 3/11 (the coming
Thursday).
v
Presentations will take place at my (ohad's) office on "Wolfson building of software
engineering", room 209.
v
Groups may come between 12:00 to 18:00. (preferably before 15:00)
v
One of the group members should send me an email
with the names and ids of the group members and with the time you would like to
come.
v
Each group will have approximately 20 minutes to
present its work.
v
All group members should be present at the
presentation.

Lecture
Slides:
04/07/2005 Modularization and
Reuse [1 per page] [2 per page]
07/07/2005 Namespaces [1 per page] [2 per page]
07/07/2005 Abstract Data Types [1 per page] [2 per page]
11/07/2005 Classes [1 per page] [2 per page]
14/07/2005 Objects [1 per page] [2 per page]
21/07/2005 Design by Contract [1 per page] [2 per page]
25/07/2005 Exception Handling [1 per page] [2 per page]
28/07/2005 Standard Template
Library [1 per page] [2 per page]
01/08/2005 Inheritance and
Polymorphism [1 per page] [2 per
page]
04/08/2005 The Lecture is
CANCELLED
08/08/2005 Multiple Inheritance [1 per page] [2
per page]
11/08/2005 More about Inheritance [1 per page] [2 per page]
18/08/2005 MFC Programming [1 per page] [2 per page]
22/08/2005 Design Patterns [1 per page] [2 per page]
25/08/2005 Design Patterns Cont [1 per page] [2 per page]
[source code]
29/08/2005 eXterme Programming [1 per page] [2 per page]
01/09/2005 Concrete Side Effects [1 per page] [2 per page]
Recitation Slides:
04/07/2005 From C to C++ [1 per page] [2 per page]
11/07/2005 Abstract Data Types and
Classes [1 per page] [2 per page]
18/07/2005 Static Members and
Constructors [1 per page] [2 per
page]
25/07/2005 Operator Overloading [1 per page] [2 per page]
01/08/2005 Inheritance and
Polymorphism [1 per page] [2 per
page]
08/08/2005 Advanced Inheritance [1 per page] [2 per page]
15/08/2005 Serialization in C++ [1 per page] [2 per page] [example]
22/08/2005 Types and Inheritance [1 per page] [2 per page]
29/08/2005 Testing [1 per page] [2 per page]
01/09/2005 Case Study - STATE [1
per page]
[2
per page]
Homework:
Exercises
should be submitted using Submission Guidelines
11/07/2005 Sets ADT [pdf]
18/07/2005 Sets Class [pdf]
25/07/2005 Sets Operators and
Contract [pdf]
08/08/2005 Inheritance [pdf]
18/08/2005 Serialization [pdf]
25/08/2005 Monopoly [ppt]
·
GRADES [click
here]
More
submission guidelines:
o
The
sources still should be submitted as is - no zip.
o
In
the file naming the ID of the submitter should be part of the file.
Such as ex#q#_ ID#.cpp
Homework is
30% of your final grade, calculated using:
v
The highest 4 of 5 exercises submitted (10%),
and
v
The 6th exercise (monopoly) which is
mandatory (20%).
Useful links:
A
critique on C++ by Ian Joyner
C++ FAQ
Bjarne
Stroustrup's Home page
Working
with Visual C++
Nice
Template Tutorial
Sgi
STL Tutorial
Rogue
Wave's STL Guide
MFC
SCRIBBLE Tutorial
The Course Textbooks:
The C++ Programming Language, Third (and special) Edition
Bjarne Stroustrup, Addison-Wesley
1997
Object-Oriented
Software Construction, Second Edition (available online in TAU library)
BERTRAND MEYER
Other
Recommended Reading:
C++ Primer, Third Edition.
Stanley B. Lippman, et al, Addison-Wesley 1998
The Design and Evolution of C++.
Bjarne Stroustrup,
Addison-Wesley 1994
Object Oriented Programming and C++ (in Hebrew!)
Amir Kirsh
Effective C++, 2nd Edition: 50 Specific Ways to Improve Your Programs
and Designs. (available online in TAU library)
Scott Meyers, Addison-Wesley 1997
More Effective C++: 35 More Ways to Improve Your Programs and
Designs. (available online in TAU library)
Scott Meyers, Addison-Wesley 1995
Effective STL: 50
Specific Ways to Improve Your Use of the Standard
Template Library
Scott Meyers, Addison-Wesley
Exceptional
C++ by Herb Sutter.
Herb Sutter, Addison-Wesley 2000
The C++ Standard Library : A Tutorial and Reference.
Nicolai M. Josuttis, Addison-Wesley 1999
Advanced C++ Programming Styles & Idioms.
James O. Coplien, Addison-Wesley 1991
Thinking in C++
Bruce Eckel. (this book can
be downloaded for free from http://www.BruceEckel.com)
Data Structures and Problem Solving Using C++.
Mark Weiss, Addison-Wesley 2000