ID:
SCV0456
Durata (ore):
48
CFU:
6
SSD:
INFORMATICA
Anno:
2024
Dati Generali
Periodo di attività
Secondo Semestre (17/02/2025 - 30/05/2025)
Syllabus
Obiettivi Formativi
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). Questo viene altresì facilitato dall’acquisizione di competenze trasversali, quali autonomia di giudizio e spirito critico nella valutazione delle scelte operate durante la progettazione di un linguaggio. Lo studente acquisirà inoltre una completa padronanza della terminologia in uso nel mondo della programmazione ad oggetti.
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). Questo viene altresì facilitato dall’acquisizione di competenze trasversali, quali autonomia di giudizio e spirito critico nella valutazione delle scelte operate durante la progettazione di un linguaggio. 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.
Metodi didattici
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.
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.
Verifica 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, a scelta dello studente, si procede con domande di approfondimento sulle diverse tematiche trattate a lezione. In questo caso, il voto finale è dato dalla somma dei voti ottenuti allo scritto (peso 70%) e all’orale (peso 30%).
La conoscenza della terminologia specifica di dominio viene testata implicitamente, poiché domande e specifiche dei problemi utilizzano tale terminologia.
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, a scelta dello studente, si procede con domande di approfondimento sulle diverse tematiche trattate a lezione. In questo caso, il voto finale è dato dalla somma dei voti ottenuti allo scritto (peso 70%) e all’orale (peso 30%).
La conoscenza della terminologia specifica di dominio viene testata implicitamente, poiché domande e specifiche dei problemi utilizzano tale terminologia.
Contenuti
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.
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.
Lingua Insegnamento
ITALIANO
Altre informazioni
Il docente riceve su appuntamento, previa richiesta via e-mail a nome.cognome@uninsubria.it. Il docente risponde solo alle e-mail firmate e provenienti dal dominio studenti.uninsubria.it.
Corsi
Corsi
INFORMATICA
Laurea
3 anni
No Results Found
Persone
Persone
Docenti di ruolo di IIa fascia
No Results Found