PROGRAMMAZIONE

A.A. di erogazione 2019/2020
Insegnamento obbligatorio

Laurea triennale in INFORMATICA
 (A.A. 2019/2020)
Anno di corso: 
1
Tipologia di insegnamento: 
Base
Sede: 
Varese - Università degli Studi dell'Insubria
Settore disciplinare: 
INFORMATICA (INF/01)
Crediti: 
12
Ciclo: 
Primo Semestre
Ore di attivita' frontale: 
104

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:

1. Conosce i principali elementi che caratterizzano un linguaggio di programmazione (sintassi, semantica, meccanismi implementativi);
2. 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;
3. Possiede le conoscenze necessarie per affrontare individualmente lo studio di un linguaggio di programmazione e per comprendere i problemi relativi allo sviluppo e all’applicazione dei linguaggi di programmazione.
4. È 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.
5. È 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.
6. È 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.

Non sono richieste conoscenze informatiche/matematiche specifiche oltre quelle fornite da una qualsiasi scuola superiore.

L'acquisizione delle diverse conoscenze ed abilità attese si svilupperà in modo parallelo lungo tutto l'insegnamento, in cui verranno trattati i seguenti argomenti:

˗ Introduzione ai linguaggi di programmazione: astrazioni, algoritmi, sintassi, semantica e strumenti di sviluppo (lezioni 3 h, obbiettivo formativo 1);
˗ Introduzione al linguaggio Java. Concetti di base, compilazione, esecuzione, struttura applicazioni (lezioni 3 h, obbiettivi formativi 1,2);
˗ Tipi primitivi ed espressioni (lezioni 8 h, esercitazioni 1 h, laboratorio 2 h, obbiettivi formativi 1, 2, 3);
˗ Strutture di controllo (lezioni 8 h, esercitazioni 1 h, laboratorio 2 h, obbiettivi formativi 1, 2, 3);
˗ Array (lezioni 4 h, esercitazioni 1 h, laboratorio 2 h, obbiettivi formativi 2, 3, 4);
˗ Gerarchia dei tipi riferimento, cast e polimorfismo (lezioni 6 h, esercitazioni 1 h, laboratorio 4 h, obbiettivi formativi 2, 3, 4, 5, 6);
˗ Implementazione delle classi (lezioni 8 h, esercitazioni 1 h, laboratorio ore 4 h, obbiettivi formativi 2, 3, 4, 5, 6);
˗ Implementazione dell’ereditarietà (lezioni 8 h, esercitazioni 1 h, laboratorio 2 h, obbiettivi formativi 2, 3, 4, 5, 6);
˗ Interfacce (lezioni 2 h, esercitazioni 1 h, laboratorio 2 h, obbiettivi formativi 2, 3, 4, 5, 6);
˗ Variabili, scope e adombramento (lezioni ore 2; esercitazioni 1 h; laboratorio 2 h, obbiettivi formativi 2, 3, 4, 5, 6);
˗ Early- e late-binding in Java (lezioni 4 h esercitazioni 1 h, laboratorio 2 h, obbiettivi formativi 2, 3, 4 , 5, 6);
˗ Gestione della memoria: stack e heap. Metodi ricorsivi (lezioni 4 h, esercitazioni 1 h, laboratorio 2 h, obbiettivi formativi 2, 3 ,4 ,5 , 6);
˗ Eccezioni (lezioni 6 h, laboratorio 2 h, obbiettivi formativi 2, 3, 4, 5, 6);
˗ Implementazione dei tipi generici (lezioni 4 h, obbiettivi formativi 2, 3).

Le lezioni frontali consistono in 70 ore di lezioni teoriche e 10 ore di esercitazioni in aula.
Le lezioni sono dedicate all'illustrazione di: elementi fondamentali di un linguaggio di programmazione; strutture di controllo, astrazioni, compilazione ed esecuzione del linguaggio Java.
Il laboratorio consiste in 24 ore, di cui 4 ore sono dedicate all’apprendimento degli strumenti di sviluppo e le restanti allo sviluppo guidato di applicazioni.

La modalità di verifica consiste in una prova scritta. Lo scopo di tale prova è quello di verificare l’apprendimento delle conoscenze ed abilità descritte nella Sezione 'Obbiettivi del Corso' e di valutare la capacità dello studente di applicare tali elementi alla risoluzione di semplici problemi. La prova scritta (della durata indicativa di 120 minuti) consiste di: Esercizi di natura pratica, il cui scopo è quello di verificare le capacità dello studente di rappresentare i metodi di risoluzione di semplici problemi attraverso l'impiego del linguaggio di programmazione utilizzato.
Gli esercizi sono in numero di 6-7.
Domande di natura teorica, il cui scopo è di verificare le capacità comunicative sviluppate dallo studente, in particolare l'acquisizione della terminologia tecnica necessaria alla comprensione e comunicazione delle metodologie e dei modelli relativi al linguaggio di programmazione studiato.
Le domande sono in numero di 2-3.
Il voto della prova scritta è espresso in trentesimi. La prova è superata se il voto è maggiore o uguale a 18/30.

Libro di testo: M.Ferrari e G. Pighizzini. Dai Fondamenti agli oggetti, corso di programmazione Java. Quarta edizione, Pearson Addison-Wesley, 2015.
Materiale disponibile sul sito di e-learning d'ateneo: Esercizi con soluzione. Temi d’esame svolti. Esempi di applicazioni.

Il docente riceve su appuntamento tramite email a alberto.trombetta@uninsubria.it. Il docente risponde solo a email 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. 2020/2021

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2019/2020

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2018/2019

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2017/2018

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2016/2017

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2015/2016

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2014/2015

Anno di corso: 1
Curriculum: PERCORSO COMUNE