First cycle
degree courses
Second cycle
degree courses
Single cycle
degree courses
School of Science
Course unit
SCM0018148, A.A. 2015/16

Information concerning the students who enrolled in A.Y. 2015/16

Information on the course unit
Degree course Second cycle degree in
SC1176, Degree course structure A.Y. 2014/15, A.Y. 2015/16
bring this page
with you
Number of ECTS credits allocated 6.0
Type of assessment Mark
Course unit English denomination ADVANCED PROGRAMMING LANGUAGES
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 Annual
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 01/10/2015
End of activities 15/06/2016
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 techniques of modern programming languages. The student will improve its abilities to reason about and to assess some of these new techniques.
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 programming techniques.
Course unit contents: This course illustrates some of the advanced techniques of modern programming languages, such that: the use of types to reason about programs, advanced object-oriented topics (structural typing, dynamic type checking, mixins), multi-paradigm programming languages, design-by-contracts, actor-based concurrent programming. These concepts will be studied in the context of the following languages: Scala, C#, Spec#, Python, Ruby, Erlang, Go.
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, 2008. Cerca nel catalogo