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