Home page of Giuseppe Lipari


Scuola Superiore Sant'Anna
Via Moruzzi, 1
56127 Pisa, ITALY
tel: +39 050 882030
fax: +39 050 883003
email: g.lipari at sssup dot it


14 Febbraio 2013 OOSD course

All news

Object Oriented Software Design I Graduate Program in Information Science and Technology Academic Year 2011-2012


Wednesday September 14 2011: The web page is on-line


Important: to compile the examples, you will also need the following zip file: bruceeckel.zip. Please, unzip all zip files in the same directory, otherwise the classpath variable in the makefiles needs to be adjusted accordingly.

This is the code for the data structures presented during the lectures: oosd.tgz

The slides will be made available as soon as I finish to write them! The "handout" version is for printing.

  1. Introduction (slides, handout)
  2. Introduction to OOP (slides, handout)
  3. Introduction to Java - 1 (slides, handout, examples)
  4. Operators and execution control (slides, handout, examples)
  5. Constructors, implementation hiding, inheritance (slides, handout, examples)
  6. Polymorphism, exceptions (slides, handout, examples)
  7. Assignment (slides, handout)
  8. Strings, File I/O, ArrayList, exercises (slides, handout, examples)
  9. Containers and Generics (slides, handout, examples)
  10. RTTI, Anonymous Inner classes, Stack, Binary Trees (slides, handout, examples)
  11. Principles of Object Oriented Design (slides, handout)
  12. Design Patterns: Creational (slides, handout, examples)
  13. Design Patterns: Structural (slides, handout)
  14. Swing Examples: (slides, handout, examples)
  15. Design Patterns: Behavioral (slides, handout)
  16. Unit Testing and Test-Driven Development (slides, handout)
  17. Agile Programming and Refactoring (slides, handout)
Also, consider to have a look at these slides on Scrum (will not be asked at the exam).


The assignment consists in writing a program to interpret numerical expressions. Here is the specification.

Deadline for first part of the assignment: November 26 2011

This is a file for the exercise of 21 October 2011

Regular Expression example


Here is the calendar for my courses. Variations will be announced in the "News" section.