First cycle
degree courses
Second cycle
degree courses
Single cycle
degree courses
School of Science
COMPUTER SCIENCE
Course unit
LANGUAGES FOR GLOBAL COMPUTING
SCP6076318, A.A. 2019/20

Information concerning the students who enrolled in A.Y. 2019/20

Information on the course unit
Degree course Second cycle degree in
COMPUTER SCIENCE
SC1176, Degree course structure A.Y. 2014/15, A.Y. 2019/20
N0
bring this page
with you
Number of ECTS credits allocated 6.0
Type of assessment Mark
Course unit English denomination LANGUAGES FOR GLOBAL COMPUTING
Website of the academic structure http://informatica.scienze.unipd.it/2019/laurea_magistrale
Department of reference Department of Mathematics
Mandatory attendance No
Language of instruction Italian
Branch PADOVA
Single Course unit The Course unit can be attended under the option Single Course unit attendance
Optional Course unit The Course unit can be chosen as Optional Course unit

Lecturers
Teacher in charge PAOLO BALDAN INF/01

ECTS: details
Type Scientific-Disciplinary Sector Credits allocated
Core courses INF/01 Computer Science 6.0

Course unit organization
Period Second semester
Year 1st Year
Teaching method frontal

Type of hours Credits Teaching
hours
Hours of
Individual study
Shifts
Lecture 6.0 48 102.0 No turn

Calendar
Start of activities 02/03/2020
End of activities 12/06/2020
Show course schedule 2019/20 Reg.2014 course timetable

Examination board
Board From To Members of the board
3 a.a. 2018/2019 01/10/2018 28/02/2020 BALDAN PAOLO (Presidente)
CONTI MAURO (Membro Effettivo)
BRESOLIN DAVIDE (Supplente)
CRAFA SILVIA (Supplente)
RANZATO FRANCESCO (Supplente)

Syllabus
Prerequisites: There are no propaedeutical courses.
Target skills and knowledge: The widespread diffusion of concurrent, distributed and mobile systems makes the classical programming and specification paradigms inadequate and opens complex and fascinating challenges. A rethinking appears necessary, starting from the foundations and adopting a rigorous, formal and disciplined approach. The aim of the course is to introduce the student to themes of interest in the area, using as tools type systems, process calculi and modelling languages in general. Starting from topics which are by now classical (like the Calculus of Communicating Systems and pi-calculus), we will reach some advanced issues of the research in the area. Some languages that implement the theoretical developments discussed are presented, including advanced languages for concurrency (Google Go, Erlang, Clojure), orchestration languages (ORC) and languages for service oriented programming (Jolie).
Examination methods: Class exercises, solution and oral discussion of some advanced exercises, presentation on a theme choosen by the student. Among the options, there is the possibility of realizing a small project.
Assessment criteria: The student is evaluated on his ability of solving simple exercises, witnessing the acquisition of the notions and techniques exposed in the course. Some advanced exercises test the ability of using the acquired expertise in the solution of new problems. The presentation verifies the capability of the student of deepening, autonomously, research themes in the area of interest and of properly exposing what she learnt.
Course unit contents: The structure and themes of the course will be as follows:

- Introduction to concurrency and mobility: from automata to reactive and concurrent systems.

- Calculus of Communicating Systems (CCS), a basic language for the description of concurrent systems. Process equivalence: transition systems and bisimulation.

- Hennessy-Milner logic and tools for verification. Mutual exclusion, deadlock freeness, fairness. Safety and liveness properties. Verification with automated tools. The Concurrency Workbench and the Mobility Workbench.

- From specification languages ​​to programming languages​​: advanced languages ​​for concurrency (Google Go and channel-based concurrency, Erlang and the actor model, Clojure and functional concurrency)

- Orchestration languages ​​(ORC) and languages for service-oriented programming ​​(Jolie).
Planned learning activities and teaching methods: Lectures and use of tools for automatic verification.
Additional notes about suggested reading: The textbook is complemented with research papers and online resources.
Web page: http://www.math.unipd.it/~baldan/Global
Textbooks (and optional supplementary readings)
  • Luca Aceto, Anna Ingólfsdóttir, Kim Guldstrand Larsen, Jiri Srba, Reactive systems modelling, specification and verification. Cambridge: Cambridge University Press, 2007. Cerca nel catalogo

Innovative teaching methods: Teaching and learning strategies
  • Lecturing
  • Problem solving
  • Loading of files and pages (web pages, Moodle, ...)

Innovative teaching methods: Software or applications used
  • Moodle (files, quizzes, workshops, ...)
  • Latex

Sustainable Development Goals (SDGs)
Quality Education