First cycle
degree courses
Second cycle
degree courses
Single cycle
degree courses
School of Science
COMPUTER SCIENCE
Course unit
ADVANCED TOPICS IN PROGRAMMING LANGUAGES
SCP6076358, A.A. 2017/18

Information concerning the students who enrolled in A.Y. 2017/18

Information on the course unit
Degree course Second cycle degree in
COMPUTER SCIENCE
SC1176, Degree course structure A.Y. 2014/15, A.Y. 2017/18
N0
bring this page
with you
Number of ECTS credits allocated 6.0
Type of assessment Mark
Course unit English denomination ADVANCED TOPICS IN PROGRAMMING LANGUAGES
Website of the academic structure http://informatica.scienze.unipd.it/2017/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 SILVIA CRAFA INF/01

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

Mode of delivery (when and how)
Period First semester
Year 1st Year
Teaching method frontal

Organisation of didactics
Type of hours Credits Hours of
teaching
Hours of
Individual study
Shifts
Lecture 6.0 48 102.0 No turn

Calendar
Start of activities 02/10/2017
End of activities 19/01/2018

Examination board
Examination board not defined

Syllabus
Prerequisites: Computer Programming and Object-Oriented Programming.
Target skills and knowledge: This course first illustrates some of the advanced topics of modern programming languages and then analyses the social issues of new technologies.
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: In the first part 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.
In the second part of the course the students will 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