|
Course unit
CONCURRENT AND DISTRIBUTED PROGRAMMING
SC01122886, A.A. 2018/19
Information concerning the students who enrolled in A.Y. 2016/17
ECTS: details
Type |
Scientific-Disciplinary Sector |
Credits allocated |
Core courses |
INF/01 |
Computer Science |
6.0 |
Course unit organization
Period |
First semester |
Year |
3rd Year |
Teaching method |
frontal |
Type of hours |
Credits |
Teaching hours |
Hours of Individual study |
Shifts |
Practice |
2.25 |
18 |
38.25 |
No turn |
Lecture |
3.75 |
30 |
63.75 |
No turn |
Start of activities |
01/10/2018 |
End of activities |
18/01/2019 |
Examination board
Board |
From |
To |
Members of the board |
9 a.a 2018/2019 |
01/10/2018 |
28/02/2020 |
BUJARI
ARMIR
(Presidente)
MAURO
MICHELE
(Membro Effettivo)
BRESOLIN
DAVIDE
(Supplente)
CONTI
MAURO
(Supplente)
FILE'
GILBERTO
(Supplente)
|
8 a.a. 2017/2018 |
01/10/2017 |
28/02/2019 |
BUJARI
ARMIR
(Presidente)
BRESOLIN
DAVIDE
(Membro Effettivo)
CONTI
MAURO
(Membro Effettivo)
FILE'
GILBERTO
(Membro Effettivo)
MAURO
MICHELE
(Membro Effettivo)
|
Prerequisites:
|
Computer Programming.
Formal prerequisite courses: Object-Oriented Programming. |
Target skills and knowledge:
|
This course introduces the Java programming language at different abstraction levels: from the object-oriented programming to the modern concurrent and distributed computing. |
Examination methods:
|
The exam consists in a written test and an optional oral examination. |
Assessment criteria:
|
The written test assesses both the knowledge of the Java language and the ability to write correct solutions for problems with concurrency issues.
The oral test assesses the correctness and functionality of the distributed application implemented by the student. The discussion also tests the ability of the student to explain the program and justify its basic choices. |
Course unit contents:
|
1. Brief overview of the object-oriented programming in Java:
- classes, objects, inheritance, polymorphism
- class design: abstract classes, interfaces, inner classes
- graphical user interfaces: components and event-driven programming
2. Functional programming in Java: Lambda and Stream API
3. Concurrent programming: thread, scheduling, thread, synchronization and communication.
4. Distributed programming: stream and serialization, socket. |
Planned learning activities and teaching methods:
|
Lecture presentations with associated class problems. The student is also required to implement an assigned project as a full Java program. |
Textbooks (and optional supplementary readings) |
-
Silvia Crafa, Oggetti, Concorrenza, Distribuzione. Programmare a diversi livelli di astrazione,. --: Editore Esculapio, 2014.
-
Oracle, Java 8 Lambdas & Stream API. --: --, --.
|
Innovative teaching methods: Teaching and learning strategies
- Lecturing
- Laboratory
- Case study
- Problem solving
Sustainable Development Goals (SDGs)
|
|