Università degli studi dell'Insubria

PROGRAMMAZIONE PROCEDURALE E AD OGGETTI

A.A. di erogazione 2019/2020
Insegnamento opzionale

Laurea triennale in INFORMATICA
 (A.A. 2018/2019)

Docenti

L'insegnamento è condiviso, tecnicamente "mutuato" con altri corsi di laurea, consultare il dettaglio nella sezione Mutuazioni
Anno di corso: 
2
Tipologia di insegnamento: 
Affine/Integrativa
Settore disciplinare: 
INFORMATICA (INF/01)
Crediti: 
6
Ciclo: 
Secondo Semestre
Ore di attivita' frontale: 
48
Dettaglio ore: 
Lezione (48 ore)

Il corso fornisce le basi della programmazione procedurale e ad oggetti. I due paradigmi sono analizzati attraverso lo studio dei linguaggi C e C++, effettuato attraverso esempi concreti. L’obiettivo primario consiste nella comprensione dei meccanismi interni legati all’implementazione di un linguaggio di programmazione.

Lo studente imparerà a
1. sviluppare programmi in C con una piena comprensione della relativa semantica operazionale;
2. applicare i concetti di base e avanzati del mondo della programmazione ad oggetti allo sviluppo di programmi C++, attraverso un uso efficace delle principali caratteristiche del linguaggio.
La conoscenza della semantica operazionale dei linguaggi C e C++ permette allo studente di affrontare in modo autonomo l’analisi delle caratteristiche di altri linguaggi di programmazione (sia procedurali che ad oggetti). Lo studente acquisirà inoltre una completa padronanza della terminologia in uso nel mondo della programmazione ad oggetti.

Prerequisiti: 

Viene richiesta la conoscenza di un linguaggio di programmazione e delle strutture dati elementari. Le conoscenze e abilità necessarie per un proficuo apprendimento di questo insegnamento sono impartite nei corsi fondamentali del primo anno di Programmazione e di Algoritmi e strutture dati.

Le lezioni del corso affrontano i seguenti argomenti:

Programmazione procedurale (24 h, obiettivo formativo 1)

- Programmazione procedurale: definizioni e nozioni di base (4h)
- Il linguaggio C: caratteristiche principali (8h)
- Il linguaggio C: aspetti avanzati (12h)
Programmazione ad oggetti (24 h, obiettivo formativo 2)
- Programmazione ad oggetti: definizioni e nozioni di base (6h)
- Il linguaggio C++: caratteristiche principali (6h)
- Il linguaggio C++: aspetti avanzati (ereditarietà semplice e multipla, regole di visibilità, polimorfismo, subtyping) (10h)
- La libreria STL (2h)

Gli argomenti verranno affrontati usando come riferimento i linguaggi di programmazione C e C++. Cionondimeno, molti degli argomenti trattati nel corso sono di validità generale, e le tecniche illustrate sono generalmente applicabili a linguaggi diversi.

Il corso si articola in lezioni frontali (48 ore).
Ogni lezione presenta sia elementi teorici sia immediate applicazioni ed esempi. Il corso rende disponibile preventivamente tutto il materiale didattico e invita lo studente ad essere presente in aula dopo aver preso visione del materiale della lezione, che verrà svolta in modo tale da aumentare interazione, discussione e di conseguenza apprendimento.

Modalita' di verifica dell'apprendimento: 

L’obiettivo della prova d’esame è l'accertamento dell’acquisizione delle conoscenze e delle abilità descritte nella sezione “Obiettivi formativi”, valutando il livello di conoscenza e soprattutto la capacità di mettere in pratica le tecniche di programmazione viste a lezione.
L'esame consiste in una prova scritta da svolgersi in aula, a cui fa seguito una prova orale opzionale nel caso di esito positivo. La prova scritta–della durata indicativa di 120 minuti–prevede una serie di 6 quesiti relativi agli argomenti trattati a lezione (5 punti disponibili per ogni quesito).
I primi tre quesiti riguardano la programmazione procedurale e il linguaggio C, i restanti la programmazione ad oggetti e il linguaggio C++. L’esito positivo (valutato in trentesimi) della prova scritta permette l’accesso alla successiva prova orale (opzionale). Tale prova parte dalla visione congiunta della prova scritta in cui l’allievo viene informato sui criteri di correzione e chiamato a fornire eventuali precisazioni, permettendo così al docente di verificare la correttezza della votazione assegnata, apportando nel caso variazioni. Di seguito, si procede con domande di approfondimento sulle diverse tematiche trattate a lezione.
La conoscenza della terminologia specifica di dominio viene testata implicitamente, poiché domande e specifiche dei problemi utilizzano tale terminologia. Similmente, le domande permettono altresì di valutare la capacità di un’analisi autonoma delle caratteristiche generali della programmazione procedurale e ad oggetti.

In aggiunta a slide e dispense distribuite tramite la piattaforma di e-learning, i testi di riferimento sono:
- Brian W. Kernighan - Dennis M. Ritchie, Il linguaggio C, Pearson Prentice-Hall (II ed.)
- Al Kelley - Ira Pohl, A Book on C, Addison-Wesley (4th ed.)
- Bjarne Stroustrup, The C++ Programming Language (4th Edition), A&W Pearson education

Il docente riceve su appuntamento, previa richiesta via e-mail a paolo.massazza@uninsubria.it. Il docente risponde solo alle e-mail firmate e provenienti dal dominio studenti.uninsubria.it

Cerchi il programma? Potrebbe non essere ancora stato caricato o riferirsi ad insegnamenti che verranno erogati in futuro.
Seleziona l‘anno in cui ti sei immatricolato e troverai le informazioni relative all'insegnamento del tuo piano di studio.

A.A. 2019/2020

Anno di corso: 2
Curriculum: PERCORSO COMUNE
Anno di corso: 3
Curriculum: PERCORSO COMUNE

A.A. 2018/2019

Anno di corso: 3
Curriculum: PERCORSO COMUNE

A.A. 2017/2018

Anno di corso: 2
Curriculum: PERCORSO COMUNE
Anno di corso: 3
Curriculum: PERCORSO COMUNE

A.A. 2016/2017

Anno di corso: 2
Curriculum: PERCORSO COMUNE
Anno di corso: 3
Curriculum: PERCORSO COMUNE

A.A. 2015/2016

Anno di corso: 2
Curriculum: PERCORSO COMUNE
Anno di corso: 3
Curriculum: PERCORSO COMUNE