Page begin -
Logo DISCO
|
Go to the Highly accessible area
|
Go to the Content page
|
Go to the End of content
|
Go to the Main menu
|
Go to the Navigation Bar (location)
|
Go to the Navigation menu (tree)
|
Go to the Commands list
|
Go to the Further readings
|
Go to the Bottom Menu
|
Logo Ateneo
   
Enrolled
Linguaggi di programmazione

Codice ins.

Insegnamento

CFU ins.

Tipo ins.

Anno

Sem.

SSD ins.

Responsabile insegnamento

E3101Q108

Linguaggi di programmazione

8

OBB

2

1

INF/01

ANTONIOTTI Marco

 

Programming Languages

 

 

 

 

 

 

Docente turno A-L: Pasi Gabriella
Docente turno M-Z: Antoniotti Marco

Contenuti:
L’insegnamento ha l’obiettivo di mostrare il panorama dei paradigmi di programmazione secondo la tradizionale suddivisione tra paradigma imperativo, paradigma logico (dichiarativo) e paradigma funzionale.

Risultati di apprendimento previsti:
Gli studenti avranno familiarizzato con i vari stili di programmazione e con gli strumenti usati per i principali linguaggi presentati nell'insieme dei moduli del corso.  Gli studenti saranno in grado di sviluppare progetti di piccole e medie dimensioni in C, (Common) Lisp e Prolog utilizzando gli ambienti di programmazione tipici dei tre linguaggi presentati.

Prerequisiti:
Concetti di base di programmazione ricorsiva, logica matematica e di architetture hardware e software.

Metodi Didattici:
Il corso si svolgerà mediante lezioni frontali in presenza e con l’ausilio di sistemi di e-learning per la distribuzione del materiale didattico e di esercizi e progetti.

Programma:

  • I paradigmi di programmazione: imperativo, logico (dichiarativo) e funzionale.  Richiami delle nozioni di “run-time” e di esecuzione di un programma su un’architettura idealizzata a pila (stack).  Nozioni base degli ambienti di programmazione per i diversi sistemi presentati.
  • Il paradigma di programmazione funzionale.
    • Introduzione al linguaggio di programmazione LISP (Common Lisp).
  • Il paradigma di programmazione logico.
    • Introduzione al linguaggio di programmazione Prolog.
  • Il paradigma di programmazione imperativo.
    • Introduzione al linguaggio di programmazione C.
  • Utilizzo dei vari paradigmi in situazioni e contesti diversi.


Modalità di verifica dell’apprendimento:
Tipo esame
:
Scritto e orale (facoltativo)

Tipo valutazione:
Voto finale

Aims and contents:
The course will provide students with a panoramic view of the main programming language paradigms: imperative, logic (declarative) and functional.

Learning outcomes:
The students will familiarize themselves with various programming stiles and with the most common programming environments for the languages presented during the course.  The students will acquire the ability to develop small and medium sized projects in C, (Common) Lisp and Prolog, while using the programming environments presented.

Prerequisites:
Basic concepts of recursive programming, mathematical logic and hardware/software architecture.

Teaching methodologies
:
The course will be offered as a set of standard lectures during the term.  “e-Learning” support will also be provided for the distribution of course material, exercises and project descriptions.

Syllabus:

  • Programming languages paradigms: imperative, logical (declarative) and functional.  Notions recall of “run-time”, program execution on an idealized stack architecture.  Basic notions about programming environment for the different systems presented.
  • The functional programming paradigm.
    • Introduction to the (Common) Lisp programming language.
  • The logic programming paradigm.
    • Introduction to the Prolog programming language.
  • The imperative programming paradigm.
    • Introduction to the C programming language.
  • Using the different paradigms in a variety of contexts.

Learning Verification Modalities:
Exam type: 

Written and oral (optional)

Evaluation type:
Final grade

Further readings
(C) Copyright 2016 - Dipartimento Informatica Sistemistica e Comunicazione - Viale Sarca, 336
20126 Milano - Edificio U14
redazioneweb@disco.unimib.it - last update of this page 11/11/2013