Programmazione - Università degli Studi dell`Insubria

Programmazione
Corso di Laurea Triennale in Informatica F004
A.A. 2013/14
SCV0019
Docente: Mauro Ferrari
CFU
SSD
LEZIONI
ESERCITAZIONI
LABORATORIO
ANNO
LINGUA
12
INF/01
72
24
16
I
Italiano
Obiettivi dell’insegnamento e risultati di apprendimento attesi
Questo corso fornisce un’introduzione alla programmazione dei calcolatori mediante il linguaggio Java. L'obiettivo primario è quello di fornire agli studenti le
conoscenze necessarie alla comprensione e all’utilizzo del linguaggio Java e all’applicazione del linguaggio alla risoluzione di problemi. Il corso affianca quindi
all'insegnamento teorico del linguaggio Java e delle sue strutture, esercitazioni e laboratori. Al termine di questo corso lo studente:
conosce i principali elementi che caratterizzano un linguaggio di programmazione (sintassi, semantica, meccanismi implementativi);
conosce le strutture di controllo, le strutture dati di base e le astrazioni principali fornite dal linguaggio Java e in generale dai linguaggi ad oggetti;
applica il linguaggio per la risoluzione di semplici problemi sfruttando le potenzialità di un linguaggio di programmazione ad oggetti.
Conoscenza e capacità di comprensione (k nowledge and under standing)
Al termine del corso lo studente possiede le conoscenze necessarie per affrontare individualmente lo studio di un linguaggio di programmazione e per comprendere
le problematiche relative allo sviluppo e all’applicazione dei linguaggi di programmazione.
Capacità di applicare conoscenza e comprensione (applying k nowledge and understanding)
Al termine del corso lo studente è in grado di applicare il linguaggio di programmazione alla risoluzione di semplici problemi individuando le astrazioni più adatte
alla formalizzazione del problema in un linguaggio ad oggetti.
Autonomia di giudizio
Al termine del corso lo studente è in grado di individuare lo schema concettuale di risoluzione di un problema e di utilizzare il linguaggio di programmazione per
l’organizzazione della sua soluzione.
Abilità comunicative
Al termine del corso lo studente è in grado di comunicare in modo compiuto e con la corretta terminologia le caratteristiche di un linguaggio di programmazione e
la struttura delle applicazioni realizzate.
Prerequisiti
Nessuno
Contenuti e programma del corso
Introduzione ai linguaggi di programmazione: astrazioni, algoritmi, sintassi, semantica e strumenti di sviluppo.
lezioni ore 3; esercitazioni ore 0; laboratorio ore 0;
Introduzione al linguaggio Java. Concetti di base, compilazione, esecuzione, struttura applicazioni.
lezioni ore 3; esercitazioni ore 0; laboratorio ore 2;
Tipi primitivi ed espressioni.
lezioni ore 8; esercitazioni ore 2; laboratorio ore 0;
Strutture di controllo.
lezioni ore 8; esercitazioni ore 2; laboratorio ore 2;
Array.
lezioni ore 4; esercitazioni ore 2; laboratorio ore 2;
Gerarchia dei tipi riferimento, cast e polimorfismo.
lezioni ore 6; esercitazioni ore 2; laboratorio ore 2;
Implementazione delle classi.
lezioni ore 8; esercitazioni ore 3; laboratorio ore 2;
Implementazione dell’ereditarietà.
lezioni ore 8; esercitazioni ore 3; laboratorio ore 2;
Interfacce.
lezioni ore 2; esercitazioni ore 1; laboratorio ore 2;
Variabili, scope e adombramento.
lezioni ore 2; esercitazioni ore 1; laboratorio ore 0;
Early- e late-binding in Java.
lezioni ore 4; esercitazioni ore 2; laboratorio ore 0;
Gestione della memoria: stack e heap. Metodi ricorsivi.
lezioni ore 4; esercitazioni ore 2; laboratorio ore 2;
Eccezioni.
lezioni ore 6; esercitazioni ore 2; laboratorio ore 2;
Implementazione dei tipi generici.
lezioni ore 4; esercitazioni ore 2; laboratorio ore 0
Tipologia delle attività didattiche
Lezioni frontali, 72 ore di lezioni teoriche:
elementi fondamentali di un linguaggio di programmazione;
strutture di controllo, astrazioni, compilazione ed esecuzione del linguaggio Java.
Esercitazioni, 24 ore:
esercizi sulle nozioni fondamentali del linguaggio di programmazione (tipi, espressioni, strutture di controllo);
sviluppo di algoritmi e programmi
Laboratorio, 16 ore:
apprendimento degli strumenti di sviluppo;
sviluppo guidato di applicazioni.
Testi e materiale didattico
Libro di testo
M.Ferrari e G. Pighizzini. Dai Fondamenti agli oggetti, corso di programmazione Java. Terza edizione, Pearson Addison-Wesley, 2008.
Testi consigliati (manuale di riferimento del linguaggio)
K. Arnold, J. Gosling e D. Holmes. Il linguaggio Java. Manuale ufficiale. Quarta edizione, Addison Wesley, 2005.
Altro materiale (disponibile sul sito di e-learning)
Esercizi con soluzione. Temi d’esame svolti. Esempi di applicazioni.
Modalità di verifica dell’apprendimento
La modalità di verifica consiste in una prova scritta e in una prova orale. Durante il corso sono previste due prove parziali il cui superamento comporta l’esonero
dalla prova scritta.
Lo scopo della prova scritta (e delle prove parziali) è quello di verificare l’apprendimento e la comprensione degli elementi caratterizzanti il linguaggio di
programmazione oggetto di studio e la capacità dello studente di applicare tale linguaggio alla risoluzione di semplici problemi. Le prove scritte (come le prove
parziali) consistono di:
esercizi per la verifica della comprensione e della conoscenza dei concetti fondamentali del linguaggio di programmazione (espressioni, strutture di controllo,
strutture dati e astrazioni);
esercizi per la verifica della capacità di individuare la soluzione di un problema e di organizzarne una soluzione tramite il linguaggio di programmazione.
Lo scopo della prova orale è quello di verificare le capacità comunicative sviluppate dallo studente, in particolare l’acquisizione della terminologia tecnica
necessaria alla comprensione e comunicazione di un linguaggio di programmazione e delle applicazioni in esso sviluppate.
Il voto di entrambe le prove è espresso in trentesimi. Il voto finale è determinato dalla media fra il voto della prova orale e quella scritta.
Orario di ricevimento
Il ricevimento studenti si svolge su richiesta degli studenti.