Esercizi (dalle diapositive): BarraDiEnergia, ListaOrdinataDiInteri, Tetris.
Blog e sito Web del corso di Metodologie di Programmazione (Corso di Laurea in Informatica, canale M-Z)
mercoledì 28 marzo 2018
Lezione del 27/03/2018: ereditarietà
Una lezione molto molto importante sull'ereditarietà: abbiamo introdotto il concetto di ereditarietà, di classi e metodi astratti, parole chiave this e super nei costruttori. Funzionamento dei costruttori nella gerarchia di ereditarietà. Differenza tra overriding e overloading. Visibilità di campi e metodi: pubblica, privata, protetta e di package. Introduzione a JUnit.
mercoledì 21 marzo 2018
martedì 20 marzo 2018
Lezione del 20/03/2018: metodi e campi statici; enumerazioni; classi wrapper; autoboxing/unboxing
Vantaggi dei metodi e dell'incapsulamento. Metodi e campi statici: modalità di accesso dall'interno e dall'esterno della classe. Perché il main() è static? Importazione statica di campi e metodi.
Autoboxing (vedi immagine sotto :-)), auto-unboxing. Classi wrapper e metodi e costanti delle classi wrapper. Confrontare valori di tipi primitivi vs. oggetti vs. valori di enumerazioni. Esercizi su heap & stack.
Enumerazioni. Esempio: SemeCarta e ValoreCarta. Dichiarazione di una enumerazione. Costruttori, campi e metodi di un'enumerazione. I metodi values e valueOf. Enumerazioni e switch.
venerdì 16 marzo 2018
Lezione del 16/03/2018: gli array; esercizio su heap & stack
Gli array. Definizione, inizializzazione, accesso agli elementi, lunghezza di un array. Matrici mediante array di array. Esercizio su heap & stack.
mercoledì 14 marzo 2018
Lab del 14/03/2018 (S): stringhe, costrutti di controllo e di iterazione
Esercizi su stringhe, flussi di controllo (switch-case), operatori di pre/post incremento e cicli for/while. Dopo aver svolto una serie di semplici esercizi per ognuna
delle tematiche sopra citate, abbiamo affrontato nel dettaglio
l'esercizio Cornice. Siamo partiti dalla definizione di un
metodo statico in grado di stampare una matrice di caratteri NxN,
abbiamo arricchito il metodo aggiungendo la possibilità di inserire una
stringa all'interno della cornice ed infine, chiarendo la differenza tra
metodo statico e metodo di istanza, abbiamo strutturato la classe
CorniceStampabile definendo i campi, due costruttori (overloading) ed il
metodo di classe toString(), focalizzando l'attenzione sulle buone norme
di scrittura del codice.
martedì 13 marzo 2018
Lezione del 13/03/2018 (ER): decisione (if, ?, switch); iterazione (while, for)
Strutture di controllo: if, else, il problema dell'else sospeso, else if, operatore di selezione ?, istruzione switch. Esercizi: estrazione del carattere centrale, saluto casuale. Introduzione ai costrutti iterativi: while, do..while, for. Le istruzioni break e continue. Eleganza del codice e coding horror.
venerdì 9 marzo 2018
mercoledì 7 marzo 2018
Lezione del 06/03/2018: classi e oggetti, campi, metodi e costruttori
Consapevolezza del tipo di dato. Conversione esplicita, cast esplicito, cast implicito. Concetti fondamentali di programmazione orientata agli oggetti: classi vs. oggetti, campi e metodi (inclusi i costruttori) e politiche di accesso. Esercizi: La classe Contatore.
venerdì 2 marzo 2018
Lezione del 02/03/2018: Introduzione al corso (2), concetti fondamentali, JDK, jshell, tipi primitivi, letterali e variabili
Oggi abbiamo completato l'introduzione al corso, fornito una panoramica sugli argomenti principali del corso (oggetti, incapsulamento, ereditarietà, polimorfismo) e parlato di tipi di dato primitivi, variabili, identificatori e letterali. Installazione di JDK ed Eclipse. Introduzione a JShell.
giovedì 1 marzo 2018
Lezione del 28/02/2018
E la prima lezione è andata!!! Abbiamo anche introdotto brevemente i progetti (ne riparleremo più avanti in queste settimane). Non dimenticatevi di iscrivervi al gruppo di discussione.
Iscriviti a:
Post (Atom)