Questo corso è basato su materiale didattico sviluppato nell'ambito del Progetto Diogene
In questa pagina le trasparenze sono distribuite sotto forma di file pdf. Per la visualizzazione e la stampa è necessario dotarsi di Acrobat Reader, visualizzatore distribuito gratuitamente sul sito della Adobe (http://www.adobe.com).
Presentazione del Corso (2 lucidi per pagina in formato pdf)
Introduzione - Piattaforme di Riferimento (2 lucidi per pagina in formato pdf)
Classi e Oggetti - Introduzione (2 lucidi per pagina in formato pdf)
Classi e Oggetti - Metafora - parte a (2 lucidi per pagina in formato pdf)
Classi e Oggetti - Metafora - parte b (2 lucidi per pagina in formato pdf)
Classi e Oggetti - Metafora - parte c (2 lucidi per pagina in formato pdf)
Classi e Oggetti - Metafora - parte d (2 lucidi per pagina in formato pdf)
Classi e Oggetti - Conclusioni - parte a (2 lucidi per pagina in formato pdf)
Classi e Oggetti - Conclusioni - parte b (2 lucidi per pagina in formato pdf)
Classi e Oggetti - C# (2 lucidi per pagina in formato pdf)
utilita-java (versione 1.1, build 32) (file .zip)
esempiiniziali-java (versione 1.0, build 82) (file .zip)
utilita-csharp (versione 1.1, build 10) (file .zip)
esempiIniziali-csharp (versione 1.0, build 41) (file .zip)
Sintassi e Semantica - Introduzione (2 lucidi per pagina in formato pdf)
Sintassi e Semantica - Peculiarità di Java (2 lucidi per pagina in formato pdf)
Sintassi e Semantica - Componenti (2 lucidi per pagina in formato pdf)
Sintassi e Semantica - Riferimenti (2 lucidi per pagina in formato pdf)
Sintassi e Semantica - Introduzione all'Ereditarieta' (2 lucidi per pagina in formato pdf)
Sintassi e Semantica - UML (2 lucidi per pagina in formato pdf)
Sintassi e Semantica - Convenzioni di Stile (2 lucidi per pagina in formato pdf)
Sintassi e Semantica - Conclusioni (2 lucidi per pagina in formato pdf)
Sintassi e Semantica - C# - parte a (2 lucidi per pagina in formato pdf)
Sintassi e Semantica - C# - parte b (2 lucidi per pagina in formato pdf)
Le Java Coding Conventions della Sun
Ruoli e Responsabilità - Introduzione (2 lucidi per pagina in formato pdf)
Ruoli e Responsabilità - Incapsulamento (2 lucidi per pagina in formato pdf)
Ruoli e Responsabilità - Strati Applicativi (2 lucidi per pagina in formato pdf)
Ruoli e Responsabilità - Il Processo di Sviluppo (2 lucidi per pagina in formato pdf)
Ruoli e Responsabilità - Conclusioni (2 lucidi per pagina in formato pdf)
Ruoli e Responsabilità - C# (2 lucidi per pagina in formato pdf)
mediapesata-java (versione 1.0, build 36) (file .zip)
indovinailnumero-java (versione 1.0, build 49) (file .zip)
morracinese-java (versione 1.0, build 21) (file .zip)
mediapesata-csharp (versione 1.0, build 30) (file .zip)
indovinailnumero-csharp (versione 1.0, build 30) (file .zip)
morracinese-csharp (versione 1.0, build 34) (file .zip)
Eccezioni - Introduzione (2 lucidi per pagina in formato pdf)
Eccezioni - Gestione delle Eccezioni - parte a (2 lucidi per pagina in formato pdf)
Eccezioni - Gestione delle Eccezioni - parte b (2 lucidi per pagina in formato pdf)
Eccezioni - Programmazione Difensiva (2 lucidi per pagina in formato pdf)
Eccezioni - Gestione dei Flussi (2 lucidi per pagina in formato pdf)
Eccezioni - Conclusioni (2 lucidi per pagina in formato pdf)
Eccezioni - C# (2 lucidi per pagina in formato pdf)
Test e Correzione - Introduzione (2 lucidi per pagina in formato pdf)
Test e Correzione - Tecniche di Test (2 lucidi per pagina in formato pdf)
Test e Correzione - JUnit (2 lucidi per pagina in formato pdf)
Test e Correzione - DebuggingELogging (2 lucidi per pagina in formato pdf)
Test e Correzione - Processo di Sviluppo (2 lucidi per pagina in formato pdf)
Test e Correzione - Conclusioni - parte a (2 lucidi per pagina in formato pdf)
Test e Correzione - Conclusioni - parte b - Riflessione (2 lucidi per pagina in formato pdf)
Test e Correzione - C# - parte a (2 lucidi per pagina in formato pdf)
Test e Correzione - C# - parte b (2 lucidi per pagina in formato pdf)
mastermind-java (versione 1.0, build 3) (file .zip)
mastermind-csharp (versione 1.0, build 1) (file .zip)
Il sito di JUnit (http://www.junit.org) - E' interessante in particolare la sezione sulla documentazione
Gli ulteriori strumenti software presentati in questo modulo sono raggiungibili a partire dalla pagina degli strumenti software
Cay S. Horstmann, Gary Cornell -- Java 2, I Fondamenti (6a Edizione) -- 2003 -- McGraw Hill - 55 Euro circa. E' un buon manuale sul linguaggio Java. L'impostazione è tradizionale e molto chiara.
Autori Vari -- C# - Guida per lo Sviluppatore -- 2001 -- Hoepli Informatica - 55 Euro circa. Un manuale molto completo su C#. Si tratta principalmente di una raccolta di contributi di autori diversi, per cui il taglio non è molto omogeneo, ma è indubbiamente uno dei manuali più completi su C#
Elliotte Rusty Harold -- Processing XML with Java -- 2002 -- Addison-Wesley - disponibile gratuitamente all'indirizzo http://www.cafeconleche.org/books/xmljava/.
Martin Fowler, Kendall Scott -- UML Distilled (edizione italiana) -- 2000 -- Addison-Wesley.
B. Eckel -- Thinking in Java (3rd Ed.) -- Disponibile in linea all'indirizzo: http://www.mindview.net/Books/TIJ/; l'edizione italiana è disponibile per i tipi di Apogeo. Si tratta di un libro classico su Java. Ha il vantaggio di essere -- nell'edizione inglese -- disponibile gratuitamente. La presentazioe dei concetti risponde ad un'impostazione meditata, che enfatizza vari aspetti avanzati. Il difetto principale consiste nella scelta degli esempi, che sono esclusivamente "sintetici" e non corrispondono a progetti concreti. Può essere un'alternativa al libro di Horstmann e Cornell.
D. Barnes, M. Kolling -- Programmare in Java con BlueJ - Pearsons Education Italia; edizione italiana del libro Objects First with Java: A Practical Introduction using BlueJ, edito da Addison Wesley (ulteriori informazioni sul sito http://www.bluej.org). E' un libro molto interessante, che adotta un approccio didatticamente eccellente e per certi versi vicino a quello utilizzato in questo corso. Rispetto a questo corso ha però due difetti principali: (a) è orientato ad un primo corso di programmazione, ovvero non assume conoscenze preliminari di un linguaggio di programmazione procedurale; di conseguenza, il taglio di certe parti è decisamente semplificato; (b) coerentemente con l'aspetto precedente, la presentazione della programmazione a oggetti è basata sull'utilizzo di un ambiente di sviluppo didattico, chiamato BlueJ, che ha il pregio di consentire di sperimentare immediatamente l'utilizzo di classi e oggetti ma ha il difetto di nascondere l'utilizzo degli strumenti (compilatore, macchina virtuale, CLASSPATH). Si tratta in ogni caso, come Thinking in Java, di un'ottima lettura.
Massimiliano Tarquini, Alessandro Ligi -- Java Mattone dopo Mattone. Il libro è stato pubblicato da Hoepli Informatica, ma ne esiste una versione in linea scaricabile gratuitamente dal sito http://www.java-net.it in vari formati. Il libro rappresenta un'esperienza editoriale molto interessante. D'altro canto, rispetto al nostro corso di laurea, il libro copre in meno di 500 pagine i contenuti dei corsi di "Programmazione a Oggetti I", (parte di) "Programmazione a Oggetti II", "Tecnologie di Sviluppo per il Web", e "Sistemi Informativi Distribuiti" (della Laurea Specialistica). Come è possibile intuire, quindi, la trattazione di alcuni argomenti è abbastanza superficiale. Può essere però utile come seconda lettura per avere un quadro complessivo sulla piattaforma Java 2.
Borland -- Practical UML Tutorial - http://bdn.borland.com/article/0,1410,31863,00.html
Marco Altese - Guida al Linguaggio UML http://programmazione.html.it/uml
Sun Microsystems -- Java Tutorial - http://java.sun.com/docs/books/tutorial/
Ben Albahari, Peter Drayton, Brad Merrill -- C# Essentials O'Reilly, 2001 -- Il principale pregio del libro è che molti capitoli sono disponibili in linea all'indirizzo: http://www.devx.com/SummitDays/Article/10902
Softsteel Solutions -- C# Tutorial - http://www.softsteel.co.uk/tutorials/cSharp/cIndex.html
C# Station -- C# Station Tutorial - http://www.csharp-station.com/Tutorial.aspx
Matteo Baccan -- Corso di C# (in italiano) - http://www.baccan.it/index.php?sezione=csharp