Tu sei qui

Programmazione

Programmazione
Corso di Laurea Triennale in Informatica F004

SCV0019
Docente: Alberto Trombetta


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 (knowledge 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 knowledge 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. Durante il corso sono previste due prove parziali il cui superamento comporta l’esonero dalla prova scritta.
Lo scopo di tale prova (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. Una prove scritta (e le prove parziali) consiste 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.
  • 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 di un linguaggio di programmazione e delle applicazioni in esso sviluppate.

Gli esercizi sono in numero di 6/7. 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.

Orario di ricevimento
Il ricevimento studenti si svolge su richiesta degli studenti.


Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer