Skip to main content
CODE 90546
ACADEMIC YEAR 2024/2025
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR INF/01
LANGUAGE English
TEACHING LOCATION
  • GENOVA
SEMESTER 1° 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.

AIMS AND LEARNING OUTCOMES

At the end of the course, studentes will be able to:

Deeply understand the notions presented in the course.

Pratice with some expertise in the proposed programming paradigms.

TEACHING METHODS

Lectures, small project.

SYLLABUS/CONTENT

 

  • 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
  • Object-oriented paradigm: subtyping, Featherweight Java
  • Logic paradigm: Prolog syntax, model-theoretic semantics, SLD resolution.
  • Coinduction and coinductive logic programming

RECOMMENDED READING/BIBLIOGRAPHY

Course notes

Benjamin Pierce, Types and Programming Lannguages

 

TEACHERS AND EXAM BOARD

Exam Board

ELENA ZUCCA SCHILLANI (President)

DAVIDE ANCONA

FRANCESCO DAGNINO (President Substitute)

LESSONS

LESSONS START

In agreement with the calendar approved by the Degree Program Board of Computer Science.

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.

 

ASSESSMENT METHODS

The oral exam checks the correct understanding of the concepts, and the ability of presenting them appropriately. The development of a small project checks that the student has experimented the proposed programming paradigms.

Exam schedule

Data appello Orario Luogo Degree type Note
14/02/2025 09:00 GENOVA Esame su appuntamento
03/06/2025 09:00 GENOVA Esame su appuntamento
03/09/2025 09:00 GENOVA Esame su appuntamento