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 Graduate Program in Information Science and Technology Academic Year 2010-2011


Monday 25 October 2010: Due to an overlap with my other course at the University of Pisa, today lecture is canceled. The next lecture is going to be on Friday October 29 at 11.00, as shown in the calendar.


NEW FILE MATERIAL.ZIP (28 October 2010): It includes the first 13 set of slides, plus examples: material.tgz.

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

The slides are also available here for your convenience. They will 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. Introduction to Java - 2 (slides, handout, examples)
  5. Introduction to Java - 3 (slides, handout, examples)
  6. Introduction to Java - 4 (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. Introduction to C programs (slides, handout, examples)
  12. Introduction to C++ (slides, handout, examples)
  13. Overloading, Copy Constructor, Const, Operators (slides, handout, examples)
  14. More on constness, static members, pre-processor, composition (slides, handout, examples)
  15. Inheritance (slides, handout, examples)
  16. Templates (slides, handout, examples)
  17. Exceptions (slides, handout)
For completing the lecture on Java generics, please download this pdf.

An example of test for C++. Similar questions will be asked during the oral examination.


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


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