Dipartimento di InformaticaUniversità degli Studi di Milano

Computer programming 32011/12

MSc in Mathematics · University of Milan · Lectures are in Italian · 3 credits · 21 hours

Archived edition: this page is kept for reference, and some materials or links may no longer be available.

This course explains advanced techniques for object oriented programming and software design.

News

  1. Office hours canceled

    Regular office hour are canceled until next semester; students can arrange an appointment via e-mail.

  2. Office hour suspension

    Because of the next meeting of the Division council and the Easter holidays, the office hours up to 13/4 will take place by appointment.

  3. Office hours canceled

    Office hour on Mar 21 are canceled; students can arrange an appointment via e-mail.

Earlier news (7)
  1. Office hours canceled

    Office hour between Feb 29 and Mar 7 (included) are canceled; students can arrange an appointment via e-mail.

  2. Office hour for the spring semester

    Office hour for the spring semester will be on Tuesday, 14:30 to 16:00.

  3. Computer programming 3 project

    The project textis available. Students should send via e-mail their source code and take an appointment.

  4. Office hours canceled

    Office hours of 19/01 are canceled; students can arrange an appointment via e-mail.

  5. Office hour change

    Office hour for this week will be on Friday 13 at 10:30.

  6. Office hours change

    Today office hours will be held at 16:30.

  7. Office hours canceled

    Office hours of 6/10 are canceled; students can arrange an appointment via e-mail.

Course schedule

Lectures will take place at the Mathematics department, according to the following schedule:

Day Hour Place
Tuesday 13:30 - 15:30 aula 4
Thursday 8:30 - 11:30 aula 2

Any change to the schedule will be announced in class and published in paragraph News of this page.

Office hours

By appointment, room 5015 of the Computer Science Department. It is possible contact the teacher by e-mail, taking care to read in advance the guide prepared by Prof. Sebastiano Vigna and clearly specifying in the message the course name and the academic year. In particular, students are encouraged to always use their academic address (i.e. based on the domain studenti.unimi.it) signing with name and student ID number and recalling that the response time may vary depending on the teacher commitments.

Course material

The part on design patterns is based on the book: Partha Kuchana, Software Architecture Design Patterns in Java, Auerbach Publications (ISBN: 0849321425). The online book of James W. Cooper, The Design Patterns Java Companion, is also available.

The part on the Java Collections Framework is based on the tutorial from Sun.

The part on introspection is based on the tutorial from Sun.

The part on concurrent programming is based on the tutorial from Sun.

The part on SWT is based on the tutorials about basic widgets and layout managers from the University of Manitoba.

The part on MVC is based on the initial part of Building Graphical User Interfaces with the MVC Pattern, although the code shown in class implements the same examples using different techniques and exploiting the SWT library. The used widgets are explained in the tutorial about advanced widgets from the University of Manitoba.

The part on serialization is based on the tutorial from Sun.

The part of generics is based on the basic and advanced tutorials from Sun.

The part on networks programming is based on the first three sections of the tutorial from Sun.

The part on HTML document analysis is based on the tutorial from Sun.

The part on regular expression is based on the tutorial from Sun.

Syllabus

The course explains the topics listed in the lecture calendar, covering the textbook contents in chapters 2, 10-20, 22-26, 29-36, as well as in the tutorials listed in section Course material.

Lectures calendar

Lecture Date Topic Material
l00 06/10/2011 Introduction to the lab
L01 11/10/2011 Input/output and serialization
l01 13/10/2011 Input/output and serialization
L02 18/10/2011 Graphical interfaces
l02 20/10/2011 Graphical interfaces
L03 25/10/2011 Creational patterns
l03 03/11/2011 Creational patterns
L04 08/11/2011 Collections and generics
l04 10/11/2011 Collections and generics
L05 15/11/2011 Structural patterns
l05 17/11/2011 Structural patterns
L06 22/11/2011 Behavioural patterns
l06 24/11/2011 Behavioural patterns
L07 29/11/2011 Model-View-Controller
l07 01/12/2011 Model-View-Controller
L08 13/12/2011 Composite, interpreter and visitor
l08 15/12/2011 Composite, interpreter and visitor
L09 20/12/2011 Concurrent programming
l09 22/12/2011 Concurrent programming
L10 10/01/2012 Network programming
l10 12/01/2012 Network programming
L11 17/01/2012 Web analysis
l11 19/01/2012 Web analysis

Exam modalities

The exam consists in the implementation of an individual project, to be presented by appointment.