0368-3348-01

ADVANCED PROGRAMMING WITH JAVA 

 

 

 

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

 

 

 

 

 

 

Homework:

 

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

        JUnit

        Debugging

 

 

 

 

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