Diario delle lezioni

Ogni lezione è da 2 ore.

Totale:

  • 24 lezioni (48 ore) per il modulo di teoria da 6 CFU.
  • 2*12=24 lezioni (2*24 = 48 ore) per il modulo di Laboratorio da 3 CFU, sdoppiato in due canali (A[A-L] e B[M-Z])

26 settembre 2024 (Lezioni di laboratorio n° A.1 e B.1)

  • Tipi definiti dall’utente
  • Liste di tipi definiti dall’utente
  • Esercizi

1° ottobre 2024 (Lezione di teoria n° 1)

  • Presentazione del corso e delle modalità d’esame
  • Richiami di programmazione strutturata
  • Modelli di calcolo: Macchina di Turing e Random Access Machine

2 ottobre 2024 (Lezione di teoria n° 2)

  • Notazioni asintotiche
  • Complessità di algoritmi
  • Complessità di programmi
  • Tipi di fato definiti dall’utente
  • Variabili e Oggetti in memoria
  • Tipi di dato definiti ricorsivamente
  • Introduzione alle strutture dati elementari e ai dizionari

8 ottobre 2024 (Lezione di teoria n° 3)

  • Strutture dati elementari: Pile con loro implementazione in Python
  • Strutture dati elementari: Code con loro implementazione in Python
  • Alberi e loro rappresentazione in memoria

9 ottobre 2024 (Lezione di teoria n° 4)

  • Alberi binari di ricerca e loro implementazione in Python

9 ottobre 2024 (Lezioni di laboratorio n° A.2 e B.2)

  • Strutture dati: introduzione alle liste
  • Implementazione di liste ordinate in Python (prima parte)

15 ottobre 2024 (Lezione di teoria n° 5)

  • Heap per implementare code con priorità

16 ottobre 2024 (Lezione di teoria n° 6)

  • Heapsort
  • Esericzi su Heap

17 ottobre 2024 (Lezioni di laboratorio n° A.3 e B.3)

  • Implementazione di liste ordinate in Python (seconda parte) con esercizi

22 ottobre 2024 (Lezione di teoria n° 7)

  • Introduzione alla programmazione orientata ad oggetti
  • Incapsulamento
  • Costruttori
  • Campi di istanza e campi di classe
  • Metodi di istanza

23 ottobre 2024 (Lezione di teoria n° 8)

  • Metodi di classe e metodi statici
  • Garbage collector
  • Information hiding in Python
  • Sistema dei tipi: type checking statico tramite linter
  • Metodi di accesso e di modifica.

24 ottobre 2024 (Lezioni di laboratorio n° A.4 e B.4)

  • Implementazione di Pile e Code in stile object oriented
  • Sistema dei tipi: type checking statico tramite linter

25 ottobre 2024 (Lezioni di laboratorio n° A.5 e B.5)

  • Implementazione di alberi binari di ricerca in Python (seconda parte, stile object oriented)
  • Verifica sperimentale altezza media alberi binari di ricerca

29 ottobre 2024 (Lezione di teoria n° 9)

  • Proprietà (alternativa a utilizzo metodi di accesso e modifica)
  • Sistema di dichiarazione di tipi
  • Funzioni come oggetti: passate come parametro, ritornate da altre funzioni

30 ottobre 2024 (Lezione di teoria n° 10)

  • Ereditarietà
  • Costruttori di classi figlie e parola chiave super
  • Modificatore di accesso per protezione a livello di classe (__) e di gerarchia di classi (_)
  • Il polimorfismo: l’overriding
  • Gerarchia delle classi: la classe object
  • Modificatore final per metodi di istanza e per classi

31 ottobre 2024 (Lezioni di laboratorio n° A.6 e B.6)

  • Implementazione di alberi binari di ricerca in Python (terza parte)
  • Cast nel sistema dei tipi di Python

5 novembre 2024 (Lezione di teoria n° 11)

  • Possibili relazioni tra classi nella programmazione a oggetti
  • Ereditarietà multipla e Method Resolution Order (o Linearizzazione)
  • Strctural subtyping: Protocolli
  • Protocolli Iterarable e Itarator

6 novembre 2024 (Lezione di teoria n° 12)

  • Introduzione ai Generics
  • Implementazione di liste e code con tipi generici
  • Implementazione
  • Calcolo dell’altezza di un albero binario di ricerca in modo iterativo (sfruttando una coda di nodi)
  • Classi astratte e metodi astratti

7 novembre 2024 (Lezione di teoria n° 13)

  • Classi astratte e metodi astratti (seconda parte)
  • Esercizi su classi astratte
  • Introduzione alle tabelle Hash: tabelle a indirizzamento diretto
  • Tabelle Hash: Funzioni di hashing e collisioni

12 novembre 2024 (Lezione di teoria n° 14)

  • Hashing esterno con liste di trabocco
  • Hashing interno: introduzione
  • Hashing interno: ispezione lineare e hashing doppio

13 novembre 2024 (Lezione di teoria n° 15)

  • Gestione delle cancellazioni nell’hashing interno
  • Introduzione alla programmazione dinamica

14 novembre 2024 (Lezioni di laboratorio n° A.7 e B.7)

  • Esercizi di programmazione orientata agli oggetti in Python

19 novembre 2024 (Lezione di teoria n° 16)

  • La proprietà della sottostruttura ottima
  • Il problema delle attività compatibili

20 novembre 2024 (Lezione di teoria n° 17)

  • Algoritmi Greedy
  • Grafi: introduzione e prime definizioni
  • Componenti connesse in grafi non diretti

Scopri cosa vuol dire essere dell'Ud'A

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

icona Facebook   icona Twitter

icona Youtube   icona Instagram