Home Risorse Docenti News Documenti Amministrazione del CdS Iscriversi Presentazione del corso Guida all'immatricolazione Studiare Piano di Studio Regolamento didattico Calendario didattico Orario delle lezioni Appelli d'esame Insegnamenti Laurearsi Sessioni di laurea Modulistica tesi e commissioni di laurea ... e dopo la laurea? Il mondo del lavoro Laurea magistrale a Pescara Laurea magistrale in altre sedi

Insegnamento di Programmazione (AA 2016-17) Home Docenti Appuntamenti news Documenti

Diario delle lezioni A.A. 2016/2017





Ogni lezione è da 2 ore.

Totale:

·         24 lezioni (48 ore) per il modulo di teoria da 6 CFU.

·         12 lezioni (24 ore) per il modulo di Laboratorio da 3 CFU, sdoppiato in due canali (A[A-L] e B[M-Z])

12 settembre 2016 (Lezione di teoria n° 1)

·         Presentazione del corso di laurea

·         Presentazione del corso e delle modalità d’esame

·         Paradigmi di programmazione

·         Linguaggi di alto livello

·         Compilatore ed Interprete

12 e 13 settembre 2016 (Lezioni di laboratorio n° A.1 e B.1)

·         Java ed Eclipse: installazione e primi programmi

·         Bytecode: compilazione ed interpretazione in Java

·         Output in Java

·         Introduzione alle variabili

·         Commenti in Java

14 settembre 2016 (Lezione di teoria n° 2)

·         Il sistema binario: bit, byte e loro multipli

·         Hardware e Software

·         Linguaggio macchina

·         Codifica binaria di numeri interi; complemento a 2

·         Rappresentazione mantissa ed esponente

·         Tipi primitivi del linguaggio Java

·         Non tutto è calcolabile: halting problem.

19 settembre 2016 (Lezione di teoria n° 3)

·         Variabili, tipi, identificatori

·         Tipi primitivi del Java

·         Dichiarazione, Inizializzazione ed assegnazione di variabili

·         Sintassi e semantica dei linguaggi di programmazione

·         Espressioni ed effetti collaterali

·         Operatori per tipi numerici

·         Conversione implicita e conversione esplicita (cast)

19 e 20 settembre 2016 (Lezioni di laboratorio n° A.2 e B.2)

·         Esercizi su variabili ed assegnamento

·         Esercizi su Operatori aritmetici per numeri interi e numeri in virgola mobile

·         Esercizi su input e output

·         Esercizi su conversione implicita e conversione esplicita (cast)

21 settembre 2016 (Lezione di teoria n° 4)

·         Espressioni booleane

·         Operatori relazionali

·         Operatori booleani

·         Leggi di De Morgan

·         Problema / algoritmo / programma

·         I diagrammi di flusso

·         Comando if e If…else

·         Comando vuoto

·         Comando blocco

26 settembre 2016 (Lezione di teoria n° 5)

·         Esercizi su diagrammi di flusso

·         Ambito di visibilità delle variabili e blocchi

·         Comando while e suo diagramma di flusso strutturato

·         Programmazione strutturata versus programmazione con salti

·         Comando do…while e suo diagramma di flusso strutturato

·         Equivalenza comandi while e do…while

26 e 27 settembre 2016 (Lezioni di laboratorio n° A.3 e B.3)

·         Esercizi su visibilità variabili

·         Esercizi su array

·         Comando while e do…while: gioco indovinello; somma e media di numeri

28 settembre 2016 (Lezione di teoria n° 6)

·         Introduzione agli array

·         Tipi primitivi vs tipi riferimento

·         Stack e Heap

·         Array monodimensionali: dichiarazione, creazione, accesso

·         Esercizi sui cicli con array

3 ottobre 2016 (Lezione di teoria n° 7)

·         Comando for

·         Equivalenza tra comandi while, do…while e for

·         Array multidimensionali

3 e 4 ottobre 2016 (Lezioni di Laboratorio n° A.4 e B.4)

·         Esercizi su array

·         Esercizi su cicli

5 ottobre 2016 (Lezione di teoria n° 8)

·         Comando for each

·         Comando switch e comando break

·         Comandi etichettati

·         Comando break

·         Comando continue

·         Espressione condizionale

·         Esercizi su array e comandi iterativi

11 ottobre 2016 (Lezione di Laboratorio n° B.5)

·         Esercizi su array

·         Esercizi su cicli

12 ottobre 2016 (Lezione di teoria n° 9)

·         Metodi

·         Parametri formali e Parametri attuali

·         Parametri di tipo primitivo e di tipo riferimento

·         Stack e Heap nella chiamata dei metodi

·         Simulazione programmi con Stack e Heap

17 ottobre 2016 (Lezione di teoria n° 10)

·         Ricerca lineare e ricerca binaria

·         Esercizi su array e cicli

17 e 18 ottobre 2016 (Lezioni di Laboratorio n° A.5 e B.6)

·         Esercizi su array e cicli

·         Esercizi su metodi

·         Esercizio: conteggio elementi non ripetuti in array

19 ottobre 2016 (Lezione di teoria n° 11)

·         Ordinamento per selezione

·         Ordinamento per inserimento

·         Esercizio: controllo se array è ordinato

24 ottobre 2016 (Lezione di teoria n° 12)

·         Esercizio: Ordinamento a bolle

·         Overloading di metodi

·         Ricorsione

·         Albero delle chiamate ricorsive

·         Esercizio: fattoriale (versione ricorsiva ed iterativa)

24 e 25 ottobre 2016 (Lezioni di Laboratorio n° A.6 e B.7)

·         Esercizi su array e cicli

·         Esercizi su metodi

·         Esercizio: conteggio elementi non ripetuti in array

26 ottobre 2016 (Lezione di teoria n° 13)

·         Evoluzione dello stack nelle chiamate ricorsive

·         Iterazione e ricorsione

·         Esercizio: potenza (versione ricorsiva ed iterativa)

·         Tipi riferimento definiti dall’utente: costrutto class

·         Differenza tra tipi primitivi e tipi riferimento

2 novembre 2016 (Lezione di teoria n° 14)

·         Esercizi in classe in preparazione alla prova parziale

7 novembre 2016 (Lezione di teoria n° 15)

·         Prova parziale

7 e 8 novembre 2016 (Lezioni di Laboratorio n° A.7 e B.8)

·         Correzione prova parziale

·         Esercizi su tipi riferimento definiti dall’utente

·         Operatore “.”

·         Array di tipi riferimento

9 novembre 2016 (Lezione di teoria n° 16)

·         Introduzione alla programmazione ad oggetti e sue caratteristiche (incapsulamento, ereditarietà, polimorfismo)

·         Incapsulamento e occultamento di informazione

·         Variabili di istanza e metodi di istanza

·         Variabili di classe e metodi di classe

·         Modificatori di accesso public e private

·         Costruttore di default

·         Costruttori definiti dall’utente

·         Parola chiave “this”

14 novembre 2016 (Lezione di teoria n° 17)

·         Blocco di inizializzazione

·         Modificatore final

·         Metodi di accesso (get) e di modifica (set)

·         La classe String e i suoi metodi principali

·         Metodo toString()

14 e 15 novembre 2016 (Lezioni di Laboratorio n° A.8 e B.9)

·         I package

·         Invocazione di metodi come scambio di messaggi tra oggetti

·         Invocazione di altri costruttori con la parola chiave “this”

·         Esercizi su programmazione a oggetti: il cambio di prospettiva rispetto alla programmazione strutturata

16 novembre 2016 (Lezione di teoria n° 18)

·         Ereditarietà

·         Polimorfismo (overriding e overloading)

·         Tipi di dato ed ereditarietà

·         Tipo statico e tipo dinamico delle variabili

·         Modificatore di accesso: protected e modificatore vuoto (a livello di package)

·         Classe Object e gerarchia delle classi

21 novembre 2016 (Lezione di teoria n° 19)

·         Modificatore “final” applicato a metodi e classi

·         Selezione della firma a tempo di compilazione e del metodo che sovrascrive a tempo di esecuzione

·         Metodi astratti e classi astratte

·         ArrayList

·         Classi involucro

21 e 22 novembre 2016 (Lezioni di Laboratorio n° A.9 e B.10)

·         ArrayList: i metodi add, set, get, size, clear, remove, indexOf

·         Classi involucro

·         Boxing e Unboxing automatici

·         ArrayList con tipi generici

23 novembre 2016 (Lezione di teoria n° 20)

·         Interfacce

·         Implementazione di default

·         Implementazione di più interfacce

28 novembre 2016 (Lezione di teoria n° 21)

·         Eccezioni

·         Eccezioni controllate e non controllate

·         Gestione delle eccezioni: try-catch-finally

·         Esercizi

28 e 29 novembre 2016 (Lezioni di Laboratorio n° A.10 e B.11)

·         Esercizi su  interface: gli iteratori

·         Esercizi su programmazione ad oggetti

30 novembre 2016 (Lezione di teoria n° 22)

·         Operatore instanceof

·         Metodo equals

·         Esercizi

5 dicembre 2016 (Lezione di teoria n° 23)

·         Esercizi in preparazione all’esame

5 e 6 dicembre 2016 (Lezioni di Laboratorio n° A.11 e B.12)

·         Esercizi in preparazione all’esame

7 dicembre 2016 (Lezione di Laboratorio n° A.12)

·         Esercizi in preparazione all’esame

7 dicembre 2016 (Lezione di teoria n° 24)

·         Esercizi in preparazione all’esame