Skip to main content
CODE 90546
ACADEMIC YEAR 2019/2020
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR INF/01
LANGUAGE English
TEACHING LOCATION
  • GENOVA
SEMESTER 2° Semester
TEACHING MATERIALS AULAWEB

OVERVIEW

Students will be provided with a deeper and more critical knowledge of programming languages, through the learning of theoretical foundations and the comparison of different paradigms. 

AIMS AND CONTENT

LEARNING OUTCOMES

Gaining a deeper and more critical knowledge of programming languages, through the learning of theoretical foundations and the comparison of different paradigms.

TEACHING METHODS

Traditional

SYLLABUS/CONTENT

(tentative)

  • Foundations: small-step semantics, type systems, soundness
  • Functional paradigm: lambda calculus, call-by-value and call-by-name, simply-typed lambda-calculus, polymorphism, Hindley-Milner inference. Functional programming in Haskell, lazy evaluation, type classes.
  • Effects: extensions of lambda-calculus with imperative features and exceptions, Haskell monads
  • Object-oriented paradigm: subtyping, Featherweight Java
  • Logic paradigm: Prolog syntax, model-theoretic semantics, SLD resolution.

TEACHERS AND EXAM BOARD

Exam Board

ELENA ZUCCA (President)

DAVIDE ANCONA

FRANCESCO DAGNINO

LESSONS

Class schedule

The timetable for this course is available here: Portale EasyAcademy

EXAMS

EXAM DESCRIPTION

The exam will consist of an oral test and possibly the development of a small project.

 

Exam schedule

Data appello Orario Luogo Degree type Note
14/02/2020 09:00 GENOVA Esame su appuntamento
24/07/2020 09:00 GENOVA Esame su appuntamento
18/09/2020 09:00 GENOVA Esame su appuntamento