MSc in Computer science for communication (Università degli Studi di Milano)

This course introduces the basic techniques for designing complex software systems.

News

Date Info
22/12/2011 Place and time of the Software design oral tests of January 2012
The oral tests of Software design for January will take place at the Computer science department according to the following schedule: Wednesday 12/01, 9:30, sala riunioni secondo piano; Friday 27/01, 9:30, aula 6.
07/10/2011 Place and time of the Software design oral tests of October 2011
The oral tests of Software design for October will take place at the Computer science department according to the following schedule: Wednesday 12/10, 14:30, aula 5; Monday 24/10, 10:30, aula 6.
06/07/2011 Office hours canceled
Regular office hour are canceled until next semester; students can arrange an appointment via e-mail.
06/07/2011 Place and time of the Software design oral tests of July 2011
The oral tests of Software design for July will take place on Thursday 14/7 at 10:30 in aula 6 at the Computer science department.
13/06/2011 Place and time of the Software design oral tests of June 2011
The oral tests of Software design for June will take place at the Computer science department according to the following schedule: Monday 20/6, 10:30, aula 6; Thursday 23/6, 10:30, sala riunioni secondo piano; Friday 24/6, 10:30, aula 6.
06/05/2011 Evaluation of the Software design course
The course evaluation will take place in the first part of the lecture of May, 5th.
29/03/2011 Schedule change for the Software design lesson on 14/4
The Software design class of 14/4 will start on 13:00.
24/03/2011 Suspension of the Software design lesson
The Software design class of 4/4 is canceled
15/02/2011 Beginning of the spring semester
According to a decision of the Computer Science teaching committee, classes will start from March, 7th.

Language

Lectures are in italian.

Course schedule

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

Day Hour Place
Tuesday 9:30 - 11:30 aula alfa
Thursday 12:30 - 14:30 aula beta

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 software engineering refers to the textbook: Eric J. Braude, Michael E. Bernstein, Software Engineering -- Modern Approaches, Second Edition, Wiley, 2011 (ISBN 978-0-471-69208-9).

The part on design patterns is based on: Eric Freeman, Elisabeth Freeman, Head First -- Design Patterns, O'Reilly, 2004 (ISBN 0-596-00712-4).

Treatment on SWT is taken from the University of Manitoba tutorials about basic widgets and layout managers. The bravest students can try advanced widgets.

The introduced development tools are described in the JUnit tutorial, in chapter 2 and chapter 4 (up to section «Advanced Merging» excluded) of the book Version Control with Subversion, as well as in tutorials Hg Init and An Introduction to the UNIX Make Utility.

Syllabus

The course explains the topics listed in the lecture calendar, covering the textbook contents in chapters 1 to 9.

Lectures calendar

Date Topic
08/03/2011 Introduction
15/03/2011 Strategy
22/03/2011 Object oriented design and unit tests
24/03/2011 Software life cycle
29/03/2011 Singleton and simple factory
31/03/2011 Graphical interfaces
07/04/2011 UML
12/04/2011 UML
14/04/2011 Observer
19/04/2011 Change control and version control
28/04/2011 Development tools
03/05/2011 Factory
05/05/2011 Template method
10/05/2011 Adapter
12/05/2011 Façade and decorator
17/05/2011 Command
19/05/2011 Iterator
24/05/2011 Composite
26/05/2011 Model-View-Controller
31/05/2011 Model-View-Controller
07/06/2011 State
09/06/2011 Other patterns
14/06/2011 Recap
16/06/2011 GWT and Model-View-Presenter

Exam modalities

The exam consists in an oral test.

Exam sessions

Session Date
June 20/06/2011
July 14/07/2011
September 19/09/2011
October 12/10/2011
January 12/01/2012
January 27/01/2012