Programmazione [Sezione A] (2004/2005)

Corso disattivato non visibile

Codice insegnamento
4S00016
Crediti
12
Altri corsi di studio in cui è offerto
L'insegnamento è organizzato come segue:
Modulo Crediti Settore disciplinare Periodo Docenti
Teoria 8 INF/01-INFORMATICA 1° Q - 1° anno, 2° Q Maria Paola Bonacina
Laboratorio 4 INF/01-INFORMATICA 1° Q - 1° anno, 2° Q Nicola Fausto Spoto

Obiettivi formativi

Modulo: Laboratorio
-------
Chiarire tramite esempi ed esercizi la programmazione in Java. Vengono presentati i meccanismi di analisi di un problema, la sua soluzione tramite algoritmi e la specifica di tali algoritmi nel linguaggio di programmazione Java.


Modulo: Teoria
-------
Obbiettivi formativi: questo corso non assume alcuna esperienza di programmazione da parte dello studente. Il suo obbiettivo centrale è di insegnare gli strumenti necessari a risolvere problemi programmando un calcolatore. Questo comporta lo studio di tecniche per analizzare un problema, costruire un algoritmo e scriverlo in Java. Nel far questo si imparerà una gran parte (ma non tutto) della sintassi e della semantica di Java.

Programma

Modulo: Laboratorio
-------
Introduzione alla programmazione e all'informatica usando il linguaggio Java; oggetti e metodi elementari: tipi primitivi, stringhe, I/O interattivo; flusso di controllo: selezione e iterazione; classi e metodi: definizione di classi e metodi, astrazione ed incapsulamento; oggetti e metodi: progetto di metodi, sovraccarico (overloading), costruttori, pachetti (packages); array; ereditarietà (inheritance); polimorfismo e legami dinamici (dynamic binding); definizione e gestione delle eccezioni; strutture di dati dinamiche: vettori e liste; I/O su file: streams; ricorsione; interfacce grafiche (GUI); applets e html (Capitoli 1-14 del libro di Savitch).


Modulo: Teoria
-------
Introduzione alla programmazione e all'informatica usando il linguaggio Java; oggetti e metodi elementari: tipi primitivi, stringhe, I/O interattivo; flusso di controllo: selezione e iterazione; classi e metodi: definizione di classi e metodi, astrazione ed incapsulamento; oggetti e metodi: progetto di metodi, sovraccarico (overloading), costruttori, pachetti (packages); array; ereditarietà (inheritance); polimorfismo e legami dinamici (dynamic binding); definizione e gestione delle eccezioni; strutture di dati dinamiche: vettori e liste; I/O su file: streams; ricorsione; interfacce grafiche (GUI); applets e html (Capitoli 1-14 del libro di Savitch).

Modalità d'esame

Modulo: Laboratorio
-------
L'esame è inserito all'interno dell'esame di programmazione. Si compone di due prove parziali durante il corso:

L1: prova di programmazione al calcolatore sul programma svolto nel I quadrimestre; si svolge in laboratorio alla fine del I quadrimestre;

L2: prova di programmazione al calcolatore sul programma svolto nel II quadrimestre; in particolare la prova utilizza il progetto sviluppato in laboratorio durante il quadrimestre; si svolge in laboratorio alla fine del II quadrimestre.

In alternativa una prova al calcolatore per ogni sessione di esame.


Modulo: Teoria
-------
Esame mediante prove parziali:
durante il corso si svolgono quattro prove:
C1: compito in classe sul programma svolto nel I quadrimestre; si svolge in classe alla fine del I quadrimestre;
L1: prova di programmazione al calcolatore sul programma svolto nel I quadrimestre; si svolge in laboratorio alla fine del I quadrimestre;
C2: compito in classe sul programma svolto nel II quadrimestre; si svolge in classe alla fine del II quadrimestre;
L2: prova di programmazione al calcolatore sul programma svolto nel II quadrimestre; in particolare la prova utilizza il progetto sviluppato in laboratorio durante il quadrimestre; si svolge in laboratorio alla fine del II quadrimestre.
Il voto al primo appello d'esame, che segue la fine del corso, sulla base delle quattro prove, è dato da:
25% C1 + 25% L1 + 25% C2 + 25% L2
e si registra durante la sessione d'esami di marzo-aprile.
Queste prove valgono solo per il primo appello dopo la fine delle lezioni (sessione di marzo-aprile, essendo il corso nel I e II quadrimestre). Dopo questo appello le quattro prove durante il corso non valgono più nulla. Similmente chi sostiene l'esame regolare al primo appello perde il voto maturato con le quattro prove.
Esame regolare:
l'esame regolare verte su tutto il programma del corso, si svolge in laboratorio e si compone di una parte scritta (E) e di una parte da svolgere al calcolatore (L). Il voto è dato da: 50% E + 50% L.
Registrazione: a ogni sessione d'esame ci saranno due date: una per sostenere l'esame regolare e una per registrare il voto. Chi intende registrare il voto maturato con le prove parziali si iscrive solo alla data per registrare (solo al primo appello). Chi si iscrive all'esame regolare, non ha bisogno di iscriversi anche alla data della registrazione.

Regolamento: tutti gli elaborati (C1, C2, L1, L2, E, L) sono individuali; è severamente vietato copiare e scambiare/passare/condividere codice. Tutti gli elaborati che mostrano di essere stati copiati ricevono voto 0, senza distinzione tra chi copia e chi fa copiare.

Testi di riferimento
Autore Titolo Casa editrice Anno ISBN Note
Cay S. Horstmann Concetti di informatica e fondamenti di JAVA 2 (Edizione 2) APOGEO 2002 8850320248 Libro consigliato per esempi ed esercizi oltre a quelli nel libro di testo adottato
Giovanni Pighizzini e Mauro Ferrari Dai fondamenti agli oggetti: Corso di programmazione JAVA (Edizione 1) Pearson Addison Wesley 2003 8871922050 Libro consigliato per esempi ed esercizi oltre a quelli nel libro di testo adottato
Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi How To Design Programs, an introduction to programming and computing (Edizione 1) The MIT Press 2001 0262062186 Libro consigliato per introduzione alla programmazione anche non in Java
David Arnow, Gerald Weiss Introduction to Programming Using Java: An Object-Oriented Approach: Java 2 Update Addison Wesley 2000 0201612720 Libro consigliato per esempi ed esercizi oltre a quelli nel libro di testo adottato
Stefano Mizzaro Introduzione alla programmazione con il linguaggio Java (Edizione 2) Franco Angeli 2000 8846416961 Libro consigliato per esempi ed esercizi oltre a quelli nel libro di testo adottato
Walter Savitch Java: An Introduction to Computer Science and Programming (Edizione 3) Pearson Prentice Hall 2004 0131013785 Libro di testo adottato dal corso
John Lewis e William Loftus Java: Fondamenti di Progettazione Software (Edizione 1) Pearson Addison Wesley 2003 8871920929 Libro consigliato per esempi ed esercizi oltre a quelli nel libro di testo adottato
John Lewis e William Loftus Java Software Solutions: Foundations of Program Design (Edizione 3) Pearson Addison Wesley 2003 0201781298 Libro consigliato per esempi ed esercizi oltre a quelli nel libro di testo adottato
Walter Savitch Java: An Introduction to Computer Science and Programming (Edizione 2) Prentice Hall 2001 0130316970 testo consigliato