Skip to Main Content (Press Enter)

Logo UNINSUBRIA
  • ×
  • Home
  • Corsi
  • Insegnamenti
  • Professioni
  • Persone
  • Pubblicazioni
  • Strutture
  • Terza Missione
  • Attività
  • Competenze

UNI-FIND
Logo UNINSUBRIA

|

UNI-FIND

uninsubria.it
  • ×
  • Home
  • Corsi
  • Insegnamenti
  • Professioni
  • Persone
  • Pubblicazioni
  • Strutture
  • Terza Missione
  • Attività
  • Competenze
  1. Insegnamenti

SCV0019 - PROGRAMMAZIONE

insegnamento
ID:
SCV0019
Durata (ore):
104
CFU:
12
SSD:
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Sede:
Varese - Università degli Studi dell'Insubria
Anno:
2025
  • Dati Generali
  • Syllabus
  • Corsi
  • Persone

Dati Generali

Periodo di attività

Primo Semestre (22/09/2025 - 19/12/2025)

Syllabus

Obiettivi Formativi

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.

Prerequisiti


Non sono richieste conoscenze informatiche/matematiche specifiche oltre quelle fornite da una qualsiasi scuola secondaria di secondo grado.

Metodi didattici


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.

Verifica Apprendimento

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, per ognuno dei quali è specificato un punteggio. Una domanda 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. Il voto della prova scritta è espresso in trentesimi. La prova è superata se il voto è maggiore o uguale a 18/30.

Contenuti


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).

Lingua Insegnamento

ITALIANO

Altre informazioni

La docente riceve su appuntamento tramite email a alessandra.rizzardi@uninsubria.it La docente risponde solo a email firmate e provenienti dal dominio studenti.uninsubria.it.

Corsi

Corsi

INFORMATICA 
Laurea
3 anni
No Results Found

Persone

Persone

RIZZARDI ALESSANDRA
Gruppo 09/IINF-05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
PE6_2 - Computer systems, parallel/distributed systems, sensor networks, embedded systems, cyber-physical systems - (2020)
PE6_3 - Software engineering, operating systems, computer languages - (2020)
PE6_5 - Cryptology, security, privacy, quantum cryptography - (2020)
AREA MIN. 09 - Ingegneria industriale e dell'informazione
Settore IINF-05/A - Sistemi di elaborazione delle informazioni
Docenti di ruolo di IIa fascia
No Results Found
  • Accessibilità
  • Utilizzo dei cookie

Realizzato con VIVO | Designed by Cineca | 25.11.5.0