Skip to main content
If you continue browsing this website, you agree to our policies:
  • Condizioni di utilizzo e trattamento dei dati
Continue
x
If you continue browsing this website, you agree to our policies:
  • Condizioni di utilizzo e trattamento dei dati
Continue
x
e-Learning - UNIMIB
  • Home
  • More
Listen to this page using ReadSpeaker
English ‎(en)‎
English ‎(en)‎ Italiano ‎(it)‎
 Log in
e-Learning - UNIMIB
Home
Percorso della pagina
  1. Science
  2. Bachelor Degree
  3. Informatica [E3102Q - E3101Q]
  4. Courses
  5. A.A. 2020-2021
  6. 1st year
  1. Programming 2
  2. Summary
Insegnamento Course full name
Programming 2
Course ID number
2021-1-E3101Q106
Course summary SYLLABUS

Course Syllabus

  • Italiano ‎(it)‎
  • English ‎(en)‎
Export

Obiettivi

Alla fine del corso lo studente sarà in grado di utilizzare i principali concetti della programmazione a oggetti per progettare, sviluppare e testare semplici programmi Java.

Contenuti sintetici

Basi della progettazione software con utilizzo di UML. Programmazione a oggetti in Java con utilizzo di alcune librerie. Ambiente di sviluppo Eclipse. Elementi sulle interfacce grafiche. Testing e debugging con Junit.


Programma esteso

1 Concetti di base:

- analisi, progettazione e programmazione

- astrazioni: classificazioni, generalizzazioni, aggregazioni

- notazione UML: diagramma delle classi, diagramma degli oggetti

- Object-Oriented Programming

2 Definizione di classi e creazione di oggetti in Java:

- dal diagramma delle classi alle classi in Java

- gestione della memoria e concetto di reference

- associazioni 1 a 1

- associazioni 1 a n

3 Metodi:

- metodi di istanza

- overloading

- passaggio parametri di tipo reference

- metodi di classe

4 Information hiding e incapsulamento

- getodi get e set

- visibilità

- costruttori

5 Eclipse, Junit e Debug

6 Ereditarietà

- Uml e Java

- overriding

- costruttori nelle classi derivate

- polimorfismo

- classi astratte e interfacce

7 Eccezioni

- gestione delle eccezioni

- definizione di classi di eccezioni

8 Alcune librerie standard

- I/O

- collection framework

Prerequisiti

Programmazione imperativa (vedi Programmazione 1)

Modalità didattica

Lezioni ed esercitazioni in aula. Attività di laboratorio in e-learning mediante esercizi, test di autovalutazione e tutoraggio on-line.

Il corso sarà erogato in italiano.

Nel periodo di emergenza Covid-19 le lezioni ed esercitazioni si svolgeranno combinando lezioni videoregistrate asincrone a lezioni sincrone.

Materiale didattico

Programmazione di base e avanzata con Java - seconda edizione, Walter Savitch, Edizione in Italiano, EAN 9788891904577, Pearson, 2018


Periodo di erogazione dell'insegnamento

Secondo semestre.

Modalità di verifica del profitto e valutazione

La verifica dell'apprendimento comprende una prova scritta che si articola in due parti:

  • prima parte mira a valutare le conoscenze teoriche. La prova consiste nella somministrazione di un insieme di domande a risposta chiusa erogate attraverso la piattaforma Perception.
  • seconda parte mira  a valutare le conoscenze pratiche. La prova consiste nella implementazione in Java di un programma di cui sono fornite le specifiche attraverso un diagramma delle classi UML.

Criteri di valutazione utilizzati: correttezza delle risposte fornite nella prima parte; qualità della soluzione e assenza di ridondanza nella seconda parte.

Durante lo svolgimento del corso si svolgeranno due compitini che saranno erogati sempre attraverso una prova scritta organizzata come descritto sopra. Il superamento di entrambi i comptini, permette il superamento dell'esame. I criteri di valutazione sono gli stessi della verifica complessiva.


Orario di ricevimento

Concordato via e-mail.

Export

Aims

At the end of the course the student is expected to master the major abstraction mechanisms useful in the analysis, the design and the testing of small Java software applications.

Contents

Basic elements of software design with UML. Object-oriented programming using Java. Usage of some Java libraries. Eclipse as IDE. Swing based graphical user interfaces. Testing and debugging exploiting JUnit.


Detailed program

1 Basic concepts:

- analysis, design, and programming

- abstractions: classification, generalization, aggregation

- UML notation: class diagram, object diagram

- Object-Oriented Programming

2 Class definition and objects instantiation:

- from the class diagram to Java classes

- memory management and references

- 1 to 1 associations

- 1 to many associations

- lists

3 Methods:

- instance methods

- overloading

- parameters of type class

- class method"

4 "Information hiding e encapsulation

- get e set methods

- visibility

- constructors

5 Eclipse, Junit, and  Debug

6 Inheritance

- Uml and Java

- overriding

- costructors in derived classes

- polymorphism

- abstract classes and interfaces"

7 "Exceptions

- exception handling

- definition of exception classes

8 Examples of standard libraries:

- I/O

- collection framework


Prerequisites

Imperative programming (see Programming 1)


Teaching form

Lectures and recitations. Practice labs via e-learning, with tutor support and auxiliary leaning material (exercises, self-test questions).

The course will be given in Italian.

During covid-19 emergency, the lectures and recitations will be both online and recorded.

Textbook and teaching resource

Programmazione di base e avanzata con Java - seconda edizione, Walter Savitch, Edizione in Italiano, EAN 9788891904577, Pearson, 2018

Semester

Second semester.

Assessment method

The assessment of the exam consists of  a written test, which is divided into two parts:

  • The first part aims to assess theoretical knowledge. The test consists of a set of closed-answer questions delivered through the Perception platform.
  • The second part aims to assess practical skills. The test consists in the implementation of a Java program whose specification is provided as a UML class diagram.

Evaluation criteria used: correctness of the answers given in the first part; quality of the solution and absence of redundancy in the second part.

During the course, two intermediate tests will be provided. These tests are  written exams organized as described above.  The passing of both intermediate tests allows the passing of the exam. The evaluation criteria are the same as for the overall verification.

Office hours

Contact by e-mail.

Enter

Key information

Field of research
INF/01
ECTS
8
Term
Second semester
Activity type
Mandatory
Course Length (Hours)
76
Degree Course Type
Degree Course

Staff

    Teacher

  • Giovanni Denaro
    Giovanni Denaro
  • LM
    Leonardo Mariani
  • Daniela Micucci
    Daniela Micucci
  • MM
    Marco Mobilio
  • Assistant

  • LR
    Lorenzo Rovida

Students' opinion

View previous A.Y. opinion

Bibliography

Find the books for this course in the Library

Enrolment methods

Manual enrolments

You are not logged in. (Log in)
Policies
Get the mobile app
Powered by Moodle
© 2025 Università degli Studi di Milano-Bicocca
  • Privacy policy
  • Accessibility
  • Statistics