Italiano
Walter Savitch
Programmazione di base e avanzata con Java (seconda edizione)
Pearson
Obiettivo del corso è insegnare i fondamenti della programmazione strutturata utilizzando Java come linguaggio di programmazione. Non è obiettivo del corso insegnare la programmazione ad oggetti, che sarà invece uno dei punti centrali del corso di Programmazione e Algoritmi 2.
RISULTATI DI APPRENDIMENTO ATTESI
CONOSCENZA E CAPACITÀ DI COMPRENSIONE:
Alla fine dell’insegnamento lo studente dovrà essere in grado di:
* illustrare il funzionamento di base di un calcolatore elettronico e il significato di algoritmo;
* illustrare il concetto di complessità computazionale asintotica di un algoritmo;
* illustrare i fondamenti della programmazione strutturata;
* illustrare i metodi di base che Java mette a disposizione per l'input/output da tastiera;
* esporre i metodi più importanti delle classi String e Math di Java;
* esporre il funzionamento degli algoritmi di ricerca lineare e binaria e degli algoritmi di ordinamento più comuni
CONOSCENZA E CAPACITÀ DI COMPRENSIONE APPLICATE:
Alla fine dell’insegnamento lo studente dovrà essere in grado di:
* generare manualmente la traccia di esecuzione di un programma scritto nel linguaggio Java;
* scrivere semplici programmi strutturati in linguaggio Java;
* calcolare la complessità computazionale asintotica di semplici programmi Java;
* utilizzare un ambiente di sviluppo Java come Visual Studio Code sia nella fase di sviluppo che in quella di debugging.
ABILITÀ DI COMUNICAZIONE:
Alla fine dell’insegnamento lo studente dovrà essere di spiegare il funzionamento di programmi e algoritmi usando un linguaggio corretto e preciso
Nessuno
Il corso si articolerà in
* Un modulo di 6 cediti (48 ore) costituito da lezioni frontali in aula.
* Un modulo da 3 crediti (24 ore) costituito da esercitazioni in laboratorio. Per consentire a tutti gli studenti di avere a disposizioni un proprio PC, il modulo di laboratorio è sdoppiato in due canali, a seconda della prima lettera del cognome.
L'esame consiste in un progetto, una prova pratica ed una prova scritta, più una prova orale, normlamente opzionale.
La parte progettuale consiste nello sviluppare un programma (o parte di esso) secondo una specifica indicata dal docente. Il progetto si può svolgere in gruppo. Il progetto può essere valutato positivamente o negativamente. La valutazione positiva è condizione necessaria per poter sostenere la prova pratica. Una volta che il progetto è stato valutato positivamente, rimane valido per tutto l'anno accademico.
La prova pratica si svolge in aula informatica al calcolatore, e consiste in una modifica da apportare al proprio progetto. La valutazione è in trentesimi.
La prova scritta, di solito svolta immediatamente dopo la prova orale, consiste in una serie di esercizi sul programma del corso. La valutazione è in trentesimi.
Il voto finale è la media del voto della prova pratica e della prova scritta.
È previsto che, durante lo svolgimento delle lezioni, si svolgeranno dei "compitini" in classe, delle prove d'esame facoltative che, se svolte correttamente, daranno dei punti addizionali al voto dell'esame finale.
Non tratta tematiche direttamente riconducibili alla sostenibilità ambientale e sociale.
Ulteriori informazioni sono disponibili sul sito web dell'insegnamento nella piattaforma di e-learning fad.unich.it
Introduzione alla programmazione. Primi passi con Java. Istruzioni ed operatori condizionali. Iterazione definita. Iterazione indefinita. Sottoprogrammi e metodi statici. Vettori. Ricorsione. Complessità computazionale asintotica. Algoritmi di ricerca e ordinamento. Strutture dati concatenate.
Introduzione alla programmazione.
* Hardware e Software
* Linguaggi di programmazione, interpreti e compilatori
* Il bytecode Java e la Java Virtual Machine
* Programmazione strutturata ed orientata agli oggetti
* Testing e debugging
* Riutilizzo del software
Primi passi con Java.
* Un semplice programma Java
* L'ambiente di sviluppo Visual Studio Code
* Variabili e tipi di dato numerici
* Espressioni aritmetiche
* Assegnamento
* Rappresentazione binaria di dati numerici
* Casting e promozione di valori numerici
* Input e output
* Il tipo stringa
* Costanti
* Stile di programmazione
Istruzioni ed operatori condizionali.
* L'istruzione if-then-else
* L'operatore ternario
* Il tipo booleano
* Cenni di logica delle proposizioni
* Espressioni booleane
* Uguaglianza in Java
* L'istruzione e l'operatore switch
Iterazione definita.
* Iterazione definita in Java
* Esempi di programmi che usano l'iterazione definita
* Istruzioni break e continue
* Uso del debugger in Visual Studio Code
Iterazione indefinita
* Istruzioni while e do-while
* Esempi di programmi che usano l'iterazione indefinita
* Scrivere cicli senza bug
* L'istruzione for
Sottoprogrammi e metodi statici.
* Sottoprogrammi e metodi statici
* Passaggio di parametri
* Metodi che restituiscono un risultato
* Documentazione con Javadoc
Vettori.
* I vettori
* Ricerca lineare e ricerca binaria
* Ordinamento di un vettore: selection sort, bubble sort, quicksort
* Vettori multidimensionali
* Cenni di complessità computazionale asintotica
Ricorsione.
* Programmi ricorsivi
* La pila dei record di attivazione
SEDE DI CHIETI
Via dei Vestini,31
Centralino 0871.3551
SEDE DI PESCARA
Viale Pindaro,42
Centralino 085.45371
email: info@unich.it
PEC: ateneo@pec.unich.it
Partita IVA 01335970693