| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente |
| magistraleinformatica:mpp:start [10/09/2026 alle 08:30 (12 giorni fa)] – [Lectures (1st part)] Roberto Bruni | magistraleinformatica:mpp:start [15/09/2026 alle 13:06 (6 giorni fa)] (versione attuale) – [Lectures (1st part)] Roberto Bruni |
|---|
| ====== Models for Programming Paradigms ====== | ====== Models for Programming Paradigms ====== |
| |
| {{:magistraleinformatica:mpp:logo-van-gogh-like.png?150 | }} | {{:magistraleinformatica:mpp:immagine_codex_10_set_2026_10_36_38.png?150 | }} |
| |
| **MPP 2026/27 (0077A, 9 CFU)** | **MPP 2026/27 (0077A, 9 CFU)** |
| |
| ^ N ^ Date ^^ Time ^ Room ^ Lecture notes ^ Links ^ | ^ N ^ Date ^^ Time ^ Room ^ Lecture notes ^ Links ^ |
| | 1 | Tue | 15/09 | 11:00-13:00 | PS4 | 01 - Introduction to the course | | | | 1 | Tue | 15/09 | 11:00-13:00 | PS4 | {{ :magistraleinformatica:mpp:2026-09-15_-_mpp_-_01_-_intro.pdf |01 - Introduction to the course}} | | |
| | 2 | Wed | 16/09 | 11:00-13:00 | H | 02 - Preliminaries:\\ //from syntax to semantics, the role of formal semantics, SOS approach, small-step operational semantics, big-step operational semantics, denotational semantics, compositionality principle, normalisation, determinacy, consistency, equivalence, congruence// | | | | 2 | Wed | 16/09 | 11:00-13:00 | H | 02 - Preliminaries:\\ //from syntax to semantics, the role of formal semantics, SOS approach, small-step operational semantics, big-step operational semantics, denotational semantics, compositionality principle, normalisation, determinacy, consistency, equivalence, congruence// | | |
| | 3 | Fri | 18/09 | 14:00-16:00 | C1 | Exercises\\ \\ 03 - Unification:\\ //inference process, signatures, substitutions, most general than relation, unification problem, most general unifiers, unification algorithm// | | | | 3 | Fri | 18/09 | 14:00-16:00 | C1 | Exercises\\ \\ 03 - Unification:\\ //inference process, signatures, substitutions, most general than relation, unification problem, most general unifiers, unification algorithm// | | |
| | 13 | Tue | 13/10 | 11:00-13:00 | PS4 | Exercises:\\ //CPO, continuous functions, IMP// | | | | 13 | Tue | 13/10 | 11:00-13:00 | PS4 | Exercises:\\ //CPO, continuous functions, IMP// | | |
| | 14 | Wed | 14/10 | 11:00-13:00 | H | 11a - Haskell:\\ //an overview, Haskell ghci, basics, tuples, lists, list comprehension, guards, pattern matching, lambda, partial application, zip// | [[https://www.haskell.org/|Haskell]] | | | 14 | Wed | 14/10 | 11:00-13:00 | H | 11a - Haskell:\\ //an overview, Haskell ghci, basics, tuples, lists, list comprehension, guards, pattern matching, lambda, partial application, zip// | [[https://www.haskell.org/|Haskell]] | |
| | 15 | Fri | 16/10 | 14:00-16:00 | 11b - Haskell GHCi:\\ //conditionals, cases, pattern matching, exercises, recursive definitions, let-in, where, map, filter, fixpoint operator, folds, application, function composition// | [[https://www.haskell.org/|Haskell]] | | | 15 | Fri | 16/10 | 14:00-16:00 | C1 | 11b - Haskell GHCi:\\ //conditionals, cases, pattern matching, exercises, recursive definitions, let-in, where, map, filter, fixpoint operator, folds, application, function composition// | [[https://www.haskell.org/|Haskell]] | |
| | 16 | Tue | 20/10 | 11:00-13:00 | PS4 | 12a - HOFL:\\ //syntax, pre-terms, types, types judgements, type system, type checking, type inference, principal type, type preservation//\\ \\ Exercises:\\ //Haskell, type inference in HOFL// | | | | 16 | Tue | 20/10 | 11:00-13:00 | PS4 | 12a - HOFL:\\ //syntax, pre-terms, types, types judgements, type system, type checking, type inference, principal type, type preservation//\\ \\ Exercises:\\ //Haskell, type inference in HOFL// | | |
| | 17 | Wed | 21/10 | 11:00-13:00 | H | 12b - HOFL:\\ //canonical forms, operational semantics, lazy vs eager evaluation//\\ \\ Exercises:\\ //HOFL, typing, operational semantics// | | | | 17 | Wed | 21/10 | 11:00-13:00 | H | 12b - HOFL:\\ //canonical forms, operational semantics, lazy vs eager evaluation//\\ \\ Exercises:\\ //HOFL, typing, operational semantics// | | |
| |
| ^ N ^ Date ^^ Time ^ Room ^ Lecture notes ^ Links ^ | ^ N ^ Date ^^ Time ^ Room ^ Lecture notes ^ Links ^ |
| | 21 | Fri | 30/10 | 14:00-16:00 | 15 - Consistency of HOFL (ctd.):\\ //unlifted semantics, lifted vs unlifted semantics//\\ \\ Exercises:\\ //HOFL//\\ \\ 16a - Erlang:\\ //an overview, erl, numbers, atoms, tuples, lists, terms, variables, term comparison, pattern matching, list comprehension, modules, functions, guards, higher order, recursion, pids, spawn, self, send, receive, examples// | [[http://www.erlang.org/|Erlang]] | | | 21 | Fri | 30/10 | 14:00-16:00 | C1 | 15 - Consistency of HOFL (ctd.):\\ //unlifted semantics, lifted vs unlifted semantics//\\ \\ Exercises:\\ //HOFL//\\ \\ 16a - Erlang:\\ //an overview, erl, numbers, atoms, tuples, lists, terms, variables, term comparison, pattern matching, list comprehension, modules, functions, guards, higher order, recursion, pids, spawn, self, send, receive, examples// | [[http://www.erlang.org/|Erlang]] | |
| | 22 | | | | | 16b - GoogleGo:\\ //an overview, playground, Go principles, variable declaration, type conversion, multiple assignments, type inference, imports, packages and public names, named return values, naked return, multiple results, conditionals and loops, pointers, struct, receiver arguments and methods, interfaces, goroutines, bidirectional channels, channel types, send, receive, asynchronous communication with buffering, close, select, communicating communication means, range, handling multiple senders, concurrent prime sieve// | [[http://golang.org/|Google Go]] | | | 22 | | | | | 16b - GoogleGo:\\ //an overview, playground, Go principles, variable declaration, type conversion, multiple assignments, type inference, imports, packages and public names, named return values, naked return, multiple results, conditionals and loops, pointers, struct, receiver arguments and methods, interfaces, goroutines, bidirectional channels, channel types, send, receive, asynchronous communication with buffering, close, select, communicating communication means, range, handling multiple senders, concurrent prime sieve// | [[http://golang.org/|Google Go]] | |
| | 23 | | | | | 17 - CCS:\\ //Introduction to concurrency, Syntax, operational semantics, value passing, modelling imperative programs with CCS// | | | | 23 | | | | | 17 - CCS:\\ //Introduction to concurrency, Syntax, operational semantics, value passing, modelling imperative programs with CCS// | | |