Richiedi Info          Brochure      Seguici su:
      Seguici su:




      
      Seguici su:            

Linguaggi di programmazione

Linguaggi di programmazione

Linguaggi di programmazione

SSD

Crediti

INF/01

6

Obiettivi Formativi

Il corso ha l’obiettivo di introdurre gli studenti a paradigmi di programmazione differenti rispetto a quanto studiato negli anni precedenti con particolare attenzione ma non limitandosi ai paradigmi funzionale, concorrente, dichiarativo e orientato agli oggetti. Ogni paradigma insegnato sarà affrontato con uno specifico linguaggio di programmazione e applicato alla risoluzione di problemi.

Competenze acquisite

Al termine del corso si dovrà dimostrare di aver capito le caratteristiche dei paradigmi studiati, dovrà sviluppare un senso critico nei confronti di linguaggi di programmazione differenti e dovrà saper scegliere il linguaggio e quindi il paradigma più appropriato da dover applicare in ogni frangente. In particolare, lo studente dovrà essere in grado di analizzare un problema e scegliere tra i vari paradigmi di programmazione appresi qual è quello più adatto per risolverlo. Lo studente dovrà anche essere in grado di realizzare la soluzione con il linguaggio appreso per il paradigma scelto.

Programma

– Overview di ML/OCaML e Recursion
– Native Datatype in ML/OCaML
– Modules and Functors
– Polymorphism in ML/OCaML
– Playing with Fun
– ML in Action
– Starting with Erlang
– Actors in Erlang
– Error Handling
– Distribution in Erlang
– Erlang in Action
– Scala Overview
– Traits
– Advance in Object-Orientation
– DSL
– Parser Combinators

Testi Consigliati

– Jason Hickey, “Introduction to Objective CaML”, 2007, Cambridge University Press.
– Joe Armstrong, “Programming Erlang”, 5ª edition, 2011, Pragmatic Bookshelf.
– Dean Wampler e Alex Payne, “Programming Scala”, 2009, O’Really.

Modalità di Verifica

–         Prova scritta con domande aperte e scelta multipla

–         La durata della prova e di massimo 1,5 ore

–         La valutazione viene espressa in trentesimi