Programmazione ad Oggetti
Corso di Studio in Informatica
Anno accademico 2012/2013
Docente: Prof. Giovanni Manzini
Scopo del corso: Il corso ha l'obiettivo di insegnare il paradigma della programmazione ad oggetti utilizzando i linguaggi Ruby e Java.
Materiale bibliografico: I testi sulla programmazione ad oggetti, e su Ruby e Java in particolare, non mancano, ma ricordate che si impara di più scrivendo molti programmi piuttosto che leggendo molti libri.
|
Dave Thomas,
Programming Ruby 3rd Ed. The Pragmatic Programmers. Manuale quasi ufficiale di Ruby: tratta tutti gli aspetti del linguaggio. |
|
Marco Ceresa
Ruby (guida pocket). Apogeo. Se seguite il corso questa guida a Ruby è probabilmente tutto ciò che vi serve: descrive il linguaggio senza fronzoli o considerazioni filosofiche. |
|
Jeremy McAnally,
Mr. Neighborly's Humble Little Ruby Book. InfoQ. Testo su Ruby abbastanza chiaro e completo disponibile gratuitamente in pdf. L'esposizione è caratterizzata da uno stile umoristico, ma è necessario conoscere un po' l'inglese per apprezzarlo. |
|
R. Bruni, A. Corradini, V. Gervasi,
Programmazione in Java, 2a edizione.
Apogeo. Libro completo e ben fatto. C'è molto di più quanto facciamo, ma è utile averlo come manuale di riferimento del linguaggio. |
Modalità d'esame. L'esame consiste nella realizzazione di un mini-progetto in Ruby e/o Java. L'esame ha la durata di quattro ore e viene svolto in laboratorio. Le esercitazioni svolte in laboratorio e i compiti assegnati in passato danno una buona idea del tipo di esercizi che dovranno essere affrontati. Chi ottiene la sufficienza nella prova di laboratorio può registrare il voto ottenuto o chiedere di sostenere l'orale.
Registro elettronico delle lezioni. Il corso prevede 48 ore di lezione di cui circa un terzo saranno svolte in laboratorio.
|
|
Argomenti della lezione | Riferimenti |
|---|---|---|
| Lezione 1 2/10/12 |
Introduzione a Ruby. Istruzioni def, if/else, while, for. Variabili semplici, stringhe, array. | |
| Lezione 2 3/10/12 |
Hash. Esempi di uso di array e hash. Introduzione alle classi. | campionato.rb |
| Lezione 3 9/10/12 |
Classi: attributi e metodi. Esempio: la classe Frazione. I metodi initialize, to_s, == +, <=>. | Sorgente classe Frazione. |
| Lezione 4 10/10/12 |
Esercitazione in laboratorio (squadre). | Testo esercizio. |
| Lezione 5 17/10/12 |
Accesso agli attributi di una classe: attr_reader, attr_writer. Gli operatori di confronto (<, ≤, etc.) e l'operatore astronave (<=>). Variabili e metodi di classe. | |
| Lezione 6 18/10/12 |
Esercitazione in laboratorio (lettore MP3). | Testo esercizio. |
| Lezione 7 23/10/12 |
Ereditarietà. I metodi della classe object ==, to_s, dup. | |
| Lezione 8 24/10/12 |
Moduli e Mixin. Introduzione ai blocchi. | |
| Lezione 9 30/10/12 |
File I/O. Definizione e uso di eccezioni. | |
| Lezione 10 31/10/12 |
Esercitazione in laboratorio | Testo esercizio. |
| Lezione 11 13/11/12 |
Uso di hash in Ruby: i metodi hash, eql? e rehash.Metodi che prendono un blocco come argomento: le istruzioni yield, call, lambda, e method. | |
| Lezione 12 14/11/12 |
Esercitazione in laboratorio (zaino) | Testo esercizio. |
| Lezione 13 15/11/12 |
Esercitazione in laboratorio (piano di studi) | Testo esercizio. |
| Lezione 14 20/11/12 |
Introduzione a Java: differenze e punti in comune con Ruby. | |
| Lezione 15 21/11/12 |
Esercitazione in laboratorio (amazon) | Testo esercizio. |
| Lezione 16 28/11/12 |
Ereditarietà, overloading, overriding. Modificatori di visibilità. Metodi della classe Object. Uso delle liste. | |
| Lezione 17 29/11/12 |
Esercitazione in laboratorio (jobs) | Testo esercizio. |
| Lezione 18 4/12/12 |
Keyword final. Classi astratte e interfaccie. L'interfaccia List. | |
| Lezione 19 5/12/12 |
Esercitazione in laboratorio (mappa) | Testo esercizio. |
| Lezione 20 6/12/12 |
Esercitazione in laboratorio | |
| Lezione 21 11/12/12 |
Le interfaccie Comparable, Set e Collection . Le classi TreeSet, HashSet e il metodo hashCode. Le classi TreeMap, HashMap. | |
| Lezione 22 12/12/12 |
Esercitazione in laboratorio | Testo esercizio. |
| Lezione 23 18/12/12 |
Eccezioni. L'interfaccia Comparator. | |
| Lezione 24 19/12/12 |
Esercitazione in laboratorio | Testo esercizio. |
Questa pagina è stata composta secondo lo standard HTML4.01 e
può essere letta usando un qualsiasi browser.