University Logo

Università
di Padova

Diploma in Ingegneria Informatica
Corso di Fondamenti di Informatica 2
2 Modulo

A.A. 2001/2002

Versione 1.0 28/09/2001


Materiale didattico

Testi base

Testi che coprono grossomodo tutto il programma del corso e rispetto ai quali il corso è organizzato in dettaglio.


Teoria

[Good]
Michael T. Goodrich, Roberto Tamassia, "Data Structures and Algorithms in Java (Second Edition)", John Wiley & Sons, New York, 2000
Web del libro "Data Structures and Algorithms in Java" seconda edizione

Testo in inglese ben impostato, con esempi e sviluppo di una libreria di classi per strutture di dati e algoritmi in Java. Include molti esercizi e suggerimenti per progetti e approfondimenti. La seconda edizione è stata ritagliata riducendo alcuni argomenti avanzati (non affrontati in questo corso) e contiene una più ampia introduzione a Java e alla programmazione orientata agli oggetti. Il livello teorico è ad un giusto compromesso tra completezza e complessità. Nel corso si tratterà solo una parte degli argomenti del libro.

[Uml]
Michele Moro, "Note sul diagramma delle classi di UML", dispensa, 1999

Breve nota introduttiva alla progettazione object-oriented mediante il diagramma delle classi di UML (Uniform Modeling Language).
Formato pdf del documento

  Per effettuare il download di Acrobat Reader.

[Lex]
Michele Moro, "Espressioni regolari e cenni sugli analizzatori lessicali", dispensa, 1997-1999

Breve nota introduttiva alla costruzione di analizzatori lessicali e sintattici.
Formato pdf del documento

  Per effettuare il download di Acrobat Reader.

[LZW]
Materiale sull'algoritmo di compressione LZW e argomenti collegati si può reperire ai seguenti indirizzi:
http://www.nicolasbillaude.com/technologies/compression/tutor-lzw.html
http://dogma.net/markn/articles/lzw/lzw.htm
http://www.cs.cmu.edu/~guyb/real-world/compress/gutmann.html

[Cri]
Michele Moro, "La crittografia e la sicurezza dei dati", dispensa, 2001

Illustra alcune nozioni base relative alla crittografia e ai sistemi di pagamento in rete, con una breve appendice storica.
Formato pdf del documento

  Per effettuare il download di Acrobat Reader.


Programmazione Java

[Hor]
Cay S. Horstmann, Gary Cornell, "Java 2 i fondamenti, seconda edizione", McGrawHill, Milano, 2001

oppure la prima edizione
Cay S. Horstmann, Gary Cornell, "Java 2 i fondamenti", McGrawHill, Milano, 1999

Descrizione del libro seconda edizione
Descrizione del libro prima edizione
(McGraw Hill)
Sito autore

Testo abbastanza completo che copre la sintassi del linguaggio e le principali caratteristiche della versione Java 2 (relativa a JDK 1.2 e successivi) e del suo ambiente, essendo l'edizione italiana del primo volume di una guida ufficiale di Sun Microsystems. Include molti esempi e un CDROM con gli esempi e altro software. Vanno sottolineati alcuni commenti:

  1. Il libro non copre alcuni aspetti avanzati quali multithreading, programmazione di rete, RMI (Remote Method Invocation), interfacciamento a database, beans, argomenti che vengono approfonditi nei corsi successivi (SO e FI3).
  2. Gli esempi di programmazione grafica fanno direttamente riferimento alla nuova interfaccia Swing piuttosto che al precedente AWT.
  3. Non contiene un reference consultabile del linguaggio e della libreria.
D'altra parte il CDROM allegato risulta utile per lo studente. Gli argomenti non coperti si possono quanto meno trovare nel tutorial di Sun ed è sempre buona norma aver sottomano il reference in linea degli API di Java che correda il JDK.

[Hor2]
Cay S. Horstmann, Gary Cornell, "Java 2 Tecniche Avanzate", McGrawHill, Milano, 2000

Descrizione del libro

Questa è la traduzione italiana del secondo volume di Core Java e include gli aspetti avanzati non trattati nel primo volume. Pur non essendo strettamente necessario disporre anche di questo testo, esso può essere un valido ausilio per affrontare lo sviluppo di applicazioni con interfacce grafiche evolute, multitasking, interfacciamento a database o applicazioni di rete.

[Jaw]
Jamie Jaworski, "Java 2 Tutto&Oltre", Apogeo, Milano, 1999

Apogeo

Testo molto ampio che copre tutte le caratteristiche della versione 1.2 del linguaggio, comprese quelle più avanzate, con moltissimi esempi. Include un CDROM con il sorgente degli esempi e una versione del JDK 1.2. È un testo di non immediata lettura per i principianti ma ha il pregio di affrontare gli argomenti anche più complessi in un'ottica professionale. Può pertanto essere utilizzato come reference anche in corsi successivi e nello sviluppo di progetti non banali.

Si consiglia inoltre di utilizzare il più spesso possibile la documentazione in linea fornita insieme al JDK (vedi software di supporto).



Testi alternativi e di integrazione

Testi che possono sostituire in subordine o completare i testi base, sulla scorta della motivazione per ciascuno di essi fornita.


Teoria

[Cor]
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, "Introduction to Algorithms", MIT Press, Cambridge, 1990

MIT Press

oppure la seconda edizione
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, "Introduction to Algorithms", MIT Press, Cambridge, September 2001

MIT Press

oppure la versione in italiano:
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, "Introduzione agli algoritmi", Jackson Libri, Milano, 1999

Jackson Libri

Noto testo di riferimento come introduzione agli alrgoritmi e alla complessità. Per l'implementazione usa pseudo-codice facilmente riconducibile a un qualsiasi linguaggio di programmazione. In alcune parti è più difficile del testo base ma è anche più ampio ed approfondito. Non ha precisa corrispondenza con la libreria di classi sviluppata nel testo base.


Programmazione Java

[Hor3]
Cay S. Horstmann, "Concetti di informatica e fondamenti di Java 2", Apogeo, Milano, 2000

Apogeo

Questo testo, adottato nell'anno 2000/2001 nel corso di Fondamenti di Informatica 1, costituisce un'ottima introduzione alla programmazione e al linguaggio Java.

[Arn]
Ken Arnold, James Gosling, "JAVA Didattica e Programmazione", Addison-Wesley, Milano, 1996

Addison-Wesley Italia
Errata corrige

oppure la 2ª edizione della versione inglese (Java 1.1);

Ken Arnold, James Gosling, "The Java Programming Language, 2nd Edition", Addison-Wesley, Reading, 1998

Addison-Wesley
Addison-Wesley

oppure la 3ª edizione della versione inglese (Java 1.3);

Ken Arnold, James Gosling, David Holmes, "The Java Programming Language, Third Edition", Addison-Wesley, Reading, 2000

Addison-Wesley

Testo introduttivo a Java con esercizi. Fornisce anche una buona introduzione generale alla programmazione ad oggetti. La prima edizione risulta però insufficiente per coprire la programmazione di interfacce grafiche e di applicazioni avanzate ed è relativa alla ormai obsoleta versione 1.0 del linguaggio.

[Lem]
Laura Lemay, Rogers Cadenhead, "Java 1.2, Guida Completa", Apogeo, Milano, 1999

Apogeo

Terza edizione, aggiornata a Java 1.2, di un testo, suddiviso in giornate e settimane per faciliatare l'autoapprendimento, per una panoramica completa del linguaggio. Include un piccolo reference del linguaggio, cenni su alcuni argomenti avanzati, compreso multithreading, molti esempi. La trattazione degli eventi con il modello 'a delegazione' (da Java 1.1 in avanti) è solo rimandato alla fine del libro.

[Win]
Russel Winder, Graham Roberts, "Developing Java Software, Second edition", John Wiley & Sons, New York, 2000

Wiley
Il testo con sorgenti

Contiene una parte di reference bene introdotta e una parte che tratta lo sviluppo di software object-oriented.


Programmazione C++

[Con]
Renato Conte, "Il mondo degli oggetti: Programmazione in C++", Libreria Progetto, Padova , 1996

Home page R.Conte

[Str]
Bjarne Stroustrup, "C++ Linguaggio, libreria standard, principi di programmazione, III edizione", Addison-Wesley, Milano, 2000.

Addison-Wesley
(Addison-Wesley)
(Addison-Wesley)
Sito autore

Documentazione di corredo

Documentazione del JDK (v 1.3.1)    Versione in formato winhelp

Tutorial Java

Sintassi e semantica di Java (scaricare il language specification della seconda edizione ovvero questo link per la versione zipped)

Sito Gamelan

Esempi di applet da JavaSoft

Esempi C e Java dal testo "C e Java - laboratorio di programmazione"

Esempi dal testo: David Flanagan, "Java in a Nutshell", Third Edition, O'Reilly, 1999.


Altri testi consigliati per la consultazione


Programmazione Java

[Fla]
David Flanagan, "Java in a Nutshell, Third edition", O'Really, Cambridge, 1999.

O'Really

[Fio]
G. Fiorentino, M.R. Lagana', F. Romani, F. Turini, "C e Java - laboratorio di programmazione", McGraw-Hill, Milano, 1997

Autori e materiale

[Cam]
Mary Campione, Kathy Walrath, "The Java Tutorial - Object-Oriented Programming for the Internet, 2nd edition", Addison-Wesley, Reading, 1996

Addison-Wesley

[Cam2]
Mary Campione, Kathy Walrath, Alison Huml, Tutuorial Team "The Java Tutorial Continued: The Rest of the JDK", Addison-Wesley, Reading, 1998

Addison-Wesley

[Cam3]
Mary Campione, Kathy Walrath, Alison Huml "The Java Tutorial: A Short Course on the Basics", Addison-Wesley, Reading, 2001

Addison-Wesley

[Gos]
Gilad Bracha, James Gosling, Bill Joy, Guy Steele, "The Java Language Specification, Second edition", Addison-Wesley, Reading, 2000

Addison-Wesley

Altri libri e manuali in linea su Sun - The Java Series .

Un'ampia lista di libri su Java si può trovare qui.



Programmazione C++

[Lip]
Stanley B. Lippman, Josée Lajoie, "C++: corso di programmazione, Terza edizione", Addison-Wesley, Milano, 2000

Addison-Wesley


Strutture di dati e algoritmi

[Mai]
Michael Main, "Data Structures & Other Objects Using Java", Addison-Wesley, Reading, 1999.

Addison-Wesley
homepage del libro (con esempi scaricabili)

[Wei]
Mark Allen Weiss, "Data Structures & Algorithm Analysis in Java", Addison-Wesley, Reading, 1999.

Addison-Wesley
homepage del libro (con esempi scaricabili)

[Aho]
V. Aho, J.E. Hopcroft, J.D. Ullman, "Data Structures and Algorithms", Addison-Wesley, Amsterdam, 1983.

[Sed]
Robert Sedgewick, "Algoritmi in C++", Addison-Wesley, Milano, 1993

Addison-Wesley



Linguaggi e compilatori

[Bru]
Giorgio Bruno, "Linguaggi Formali e Compilatori", UTET, Torino, 1992.

[App]
Andrew W. Appel, "Modern Compiler Implementation in Java", Cambridge University Press, New York, 1998.

Sito autore

Linguaggio HTML

[Bos]
R. Boschin, "HTML 4", (con CD-ROM), Apogeo, Milano, 1998.

Apogeo



Linguaggio JavaScript

[Rea]
R. Ready, P.Vachier, R. Marsot, "Programmare con JavaScript", (con CD-ROM), Apogeo, Milano, 1997.

Apogeo

UML

[Eri]
H.E. Eriksson, M. Penker, "UML Toolkit", John Wiley and Sons, 1997

Wiley



Pagina principale Torna alla pagina principale