First cycle
degree courses
Second cycle
degree courses
Single cycle
degree courses
School of Science
Course unit
SCP6076358, 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
SC1176, Degree course structure A.Y. 2014/15, A.Y. 2019/20
bring this page
with you
Number of ECTS credits allocated 6.0
Type of assessment Mark
Website of the academic structure
Department of reference Department of Mathematics
Mandatory attendance No
Language of instruction Italian
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

Teacher in charge SILVIA CRAFA INF/01

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

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

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

Start of activities 30/09/2019
End of activities 18/01/2020
Show course schedule 2019/20 Reg.2014 course timetable

Examination board
Examination board not defined

Prerequisites: Computer Programming and Object-Oriented Programming.
Target skills and knowledge: This course illustrates some of the advanced topics of modern programming languages.
The student will improve its abilities to reason about and to assess new programming techniques. Moreover the student will practice and enhance the critical thinking by reflecting on the social impact of contemporary technologies.
Examination methods: To pass this course the student must succeed in a written test and either an oral examination about an advanced topic or the implementation of a programming project.
Assessment criteria: The written test assesses the knowledge of foundational aspects presented during the course. The second examination tests the ability of the student to analyse and reason about advanced technologies and their social impact.
Course unit contents: The course illustrates some of the advanced topics of modern programming languages, such that: the use of types to reason about programs, advanced object-oriented topics (structural typing, dynamic type checking, mixins), the integration of functional programming and object-oriented programming, asynchronous and reactive concurrent programming. These concepts will be carried over by a foundational study and an insightful analysis of the Scala and Java8 languages.
The students will also be exposed to the analysis and the discussion of concrete cases where new technologies have a controversial impact on society.
Planned learning activities and teaching methods: Classroom lessons and reading of research papers.
Textbooks (and optional supplementary readings)
  • B.C. Pierce, Types and Programming Languages. --: The MIT Press, 2002. Cerca nel catalogo
  • M. Odersky, L. Spoon, B. Venners, Programming in Scala. --: Artima, 2016. Cerca nel catalogo

Innovative teaching methods: Teaching and learning strategies
  • Lecturing
  • Problem based learning
  • Interactive lecturing
  • Questioning
  • Peer feedback
  • taking care of the dialogue with students during and after the lesson

Innovative teaching methods: Software or applications used
  • Latex
  • no mediation through digital tools to foster the ability to explain and debate personal ideas

Sustainable Development Goals (SDGs)
Quality Education Decent Work and Economic Growth Industry, Innovation and Infrastructure Sustainable Cities and Communities