Lecturer: Ohad Barzilay (ohadbr@tau.ac.il)


Office Hour: Wolfson building for Software Engineering, room 209 (directions)

Tuesday's on 14:00 please send an email first!

( +972 3 640 5549


Exercise Checker: Oleg Yanosky (java-checker@cs.tau.ac.il)

Drawer 364 drawer in Schreiber (2nd floor)




[Lecture Notes] [Homework] [Project Administration] [Grades] [Books] [Eclipse]

[Messages] [Links] [Syllabus] [Mailing List] [FAQ] [Students Forum] [CVS] [Towards the Exam]




Lecture Notes:


05/03/2006 Administration [PDF] [PDF.x6]

Introduction [PDF] [PDF.x6]

Moving from C to Java [PDF] [PDF.x6]

Client and Supplier in Software Engineering [PDF] [PDF.x6]


12/03/2006 Java Control Flow [PDF] [PDF.x6]

Objects [PDF] [PDF.x6]

Class Design (BankAccount) [PDF] [PDF.x6] [source] [taglets.jar]

Additional Material:

Java Syntax Review [PDF] [PDF.x6]

More Examples for Class Design [PDF] [PDF.x6] [source]


19/03/2006 Java Generics [PDF] [PDF.x6]

Java Strings and Arrays [PDF] [PDF.x6]

26/03/2006 Java Interfaces [PDF] [PDF.x6] [source]


02/04/2006 Java Collections [PDF] [PDF.x6]

Static Members [PDF] [PDF.x6]

Inner and Nested Classes [PDF] [PDF.x6]

23/04/2006 Inheritance [PDF] [PDF.x6]


30/04/2006 preliminary reading: Testing [PDF] [PDF.x6] [JUnit in Eclipse (p. 28-33)]

Inheritance techniques [PDF] [PDF.x6]

Test Driven Development [PDF] [PDF.x6]



07/05/2006 Exceptions, Errors and Assertions [PDF] [PDF.x6]

I/O [PDF] [PDF.x6] [source]


14/05/2006 AWT Components [PDF] [PDF.x6] [source]

AWT Events [PDF] [PDF.x6] [source]

Swing (written by Eran Werner) [PDF.x2] [PDF.x3] [source]


21/05/2006 Swing, GUI Builders and Applets [PDF] [PDF.x6] [source printouts] [source]

Java Threads I [PDF] [PDF.x6]


28/05/2006 Enumerated Types and Static imports [PDF] [PDF.x6]

Subcontracting [PDF] [PDF.x6]

Java Threads II [PDF] [PDF.x6]


04/06/2006 Networking (written by Eran Werner) [PDF] [PDF.x6] [source]


11/06/2006 Refactoring (written by Martin Fowler) [PDF] [PDF.x6] [source][Refactoring in Eclipse(p. 22-27)][full example]

Summary [PDF] [PDF.x6] [solutions][solutions.x6]

Towards the Exam









All the course exercises should be done individually and be submitted both as hardcopies and online.

Instruction for online submission can be found here.


ex1.zip Due date: 26/03/2006 (posted on 12/03/2006)

ex2.pdf Due date: 23/04/2006 (posted on 02/04/2006) grading notes

ex3.zip Due date: 30/04/2006 (only one week!) (posted on 23/04/2006) grading notes

ex4.pdf Due date: 14/05/2006 (posted on 30/04/2006) grading notes

ex5.pdf Due date: 28/05/2006 (posted on 14/05/2006) grading notes



final exercise part I Due date: 8-9/06/2006 (posted on 23/04/2006)

final exercise part II Due date: 7-8/09/2006 (posted on 11/06/2006)


Project Administration Page moved to here

Client/Server Chatting Application. Given as homework last year: exercise , solution


Working with CVS: ppt , another ppt , manual , another good introduction , cvs in Eclipse

Building an XML Editor

Grades: Can be found here






Working with Eclipse:


* working from the labs in Schreiber ()

* working with Eclipse ()



Eclipse Step by Step (taken from the Ecesis project):

        introduction and installation

        Workbench Overview

        Java IDE







Additional Recommended Reading:


Recommended Books:


Java Programming Language, 4th Edition

By James Gosling, Ken Arnold and David Holmes
Fourth edition, 928 pages
ISBN 0321349806




Java in a Nutshell


Java in a Nutshell, Fifth Edition

By David Flanagan
Fifth Edition March 2005 

Series: In a Nutshell
ISBN: 0-596-00773-6




Effective Java - Programming Language Guide

by Joshua Bloch
Foreword by Guy Steele






Online Material:


        At SUN website you can find MANY excellent books - most of them are free and available online

        The Java Tutorial the best tutorial online (can be downloaded offline for free)

        BOOKS on http://www.zindell.com/ - they are free, they are in Hebrew, they are not so good

        Complete Java API available online in javadoc format