I pattern Observer, Factory, Command/Callback. Riassunto dei design pattern. Consigli per il futuro. Conclusione del corso!
Blog e sito Web del corso di Metodologie di Programmazione (Corso di Laurea in Informatica, canale M-Z)
venerdì 29 maggio 2020
giovedì 28 maggio 2020
Lab del 27/05/2020 (Google meet, 2 ore): moduli ed esercizi sul Builder
Creare moduli e codificarne le dipendenze: requires, exports, requires transitive. Esercizi sul pattern builder.
lunedì 25 maggio 2020
Lezione del 22/05/2020 (Google meet, 3 ore): ancora sugli stream
Operazioni su IntStream, DoubleStream, LongStream e passaggio da uno stream all'altro. Ottenere uno stream infinito. L'operazione intermedia flatMap. Ottenere uno stream infinito e iterare su uno stream: il metodo Stream.iterate.
IntStream.range e rangeClosed. Copiare gli stream. Importanza dell'ordine delle operazioni.
Ottimizzazione dell'ordine di esecuzione. Stream sequenziali e
paralleli.
Lezione del 20/05/2020 (Google meet, 1.5 ore): introduzione al pattern singoletto e al pattern builder
Revisione delle specifiche di VerbAtlas. Introduzione al singoletto e al builder.
lunedì 18 maggio 2020
venerdì 15 maggio 2020
Lezione del 15/05/2020 (Google meet, 3 ore): eccezioni e intro agli stream
Generici e covarianza e controvarianza. La classe Optional. Gli stream: definizione; caratteristiche; operazioni intermedie e terminali. Metodi principali dell'interfaccia java.util.stream.Stream.
Comportamento "pigro" (lazy) degli stream. Operazioni senza stato e con
stato. Stream ottimizzati per i tipi primitivi: IntStream, DoubleStream
e LongStream. Come ottenere uno stream: da elenco di valori, da una
Collection, da un array, da un file. Il pattern Builder, la sua importanza nel paradigma orientato agli oggetti e il suo uso negli stream mediante operazioni intermedie e terminali. Operazioni intermedie e terminali degli stream.
martedì 12 maggio 2020
Lezione dell'11/05/2020 (Google meet, 2 ore): i generici
Tipi generici. Definire e utilizzare una classe generica. Specificare più tipi generici. Estendere le classi generiche. Esercizio: inverti lista generica. Generici e collezioni: interfacce generiche prototipiche. Definire un metodo generico. Calcolare il massimo di una collezione di elementi di tipo generico. Sicurezza dei generici a tempo di compilazione: confronto con gli array. Jolly come tipi generici. Esempio: metodo generico di somma. Cancellazione del tipo (type erasure). Esempio: cancellazione del tipo nella classe Coppia e nel metodo getMassimo. Esercizio: cancellazione del tipo nella classe Pila.
Lezione dell'08/05/2020 (Google meet, 1.5 ore): presentazione dei progetti
Presentazione dei due progetti: API di VerbAtlas e Traffic!
mercoledì 6 maggio 2020
Lezione del 29/04/2020 (Google meet, 1.5 ore): esercizi sulla ricorsione
Esercizi sulla ricorsione: generazione di stringhe binarie di lunghezza k; generazione di permutazioni di caratteri.
Lezione del 27/04/2020 (Google meet, 2 ore): ricorsione
La ricorsione. Pensare ricorsivamente. Esempio: il fattoriale. Funzionamento della ricorsione: record di attivazione e stack. Non prevedere un caso base: la ricorsione infinita. Esempi: riconoscimento di una stringa palindroma. Ricerca binaria ricorsiva. Utilizzo di metodi di comodo mediante l'overloading. Utilizzo di metodi di comodo mediante l'overloading. Strutture dati ricorsive.
Iscriviti a:
Post (Atom)