Versione del 18-Settembre-2006

Fondamenti di Informatica 1

a.a. 2005 - 2006

- gruppo "89" -

Il corso di Fondamenti di informatica 1 canale "89" (docente A. Luchetta, e-mail) è rivolto agli studenti con numero di matricola che termina con le cifre 8 o 9  iscritti, nell'anno accademico 2005 - 2006, al primo anno di uno dei corsi di laurea triennali (nuovo ordinamento) della classe 9 - Ingegneria dell'Informazione presenti a Padova (corsi di laurea in Ingegneria dell'Automazione, Biomedica, Elettronica, Informatica, dell'Informazione e delle Telecomunicazioni).
Gli studenti iscritti al corso di laurea in Ingegneria Informatica il cui numero di matricola ha la penultima cifra pari a "0" costituiscono il gruppo di ascolto del corso in teleconferenza e sono tenuti a seguire le lezioni impartite a Padova dal prof. M. Dalpasso.

Programma del corso

Il programma del corso prevede l'impiego di un sottoinsieme molto limitato di classi delle librerie standard di Java (J2SE 5.0).

Durante il corso si fa riferimento al volume: Cay S. Horstmann, Concetti di informatica e fondamenti di JAVA, Terza Edizione, Apogeo (2005),  limitatamente alla parti descritte in questo documento, che costituisce il libro di testo del corso.La casa editrice mantiene una pagina web del testo dove si trovano approfondimenti e materiale di supporto (codice, soluzioni, appendici) che possono essere scaricati gratuitamente.

Il materiale didattico usato durante il corso sara'  rese disponibili in formato .pdf  durante le lezioni alla pagina diario delle lezioni. Non sostituiscono il libro di testo e la frequenza alle lezioni e alle esercitazioni in laboratorio.

Laboratorio di programmazione

Il laboratorio si svolge presso l'Aula didattica "Taliercio il lunedì dalle ore 8:15 alle ore 12:15 per gli studenti che si sono immatricolati nell'anno accademico 2005 -2006. Gli studenti che si sono immatricolati in precedenti anni accademici saranno ammessi al laboratorio in funzione delle postazioni disponibili. Chi non fosse ammesso, per indisponibilità di posti, potrà utilizzare i turni "di recupero". A partire dalla terza settimana di corso l'accesso all'aula sarà liberalizzato e quindi gli studenti potranno accedere a eventuali postazioni non utilizzate anche nei turni previsti per altri canali del corso di Fondamenti di informatica 1.

Data
Argomento
Esercitazione
03-Ott-2005
Introduzione al laboratorio e alla programmazione in Java. Lavorare in Linux da riga di comando. Il sito dell'aula didattica Taliercio.Il sito della Facolta' di ingegneria. Il sito del Dipartimento di Ingegneria dellInformazione. Il sito didattico del docente di Fondamenti di Informatica 1.  Primi programmi in java: Vuota.java, Hello.java, HelloJOptionPane.java. Errori sintattici e messaggi dal compilatore. Configurazione della posta elettronica dell'Aula Didattica Taliercio e del Servizio di Ateneo.
lab 1
10-Ott-2005
Programmare in Java. Acquisire dati da standard input. Limiti delle rappresentazioni numeriche. Scoprire javadoc lab2
17-Ott-2005 Questionario a risposte multiple per autovalutazione. Programmare in Java: semplici classi. I cicli e le strutture di controllo.
lab3
24-Ott-2005 Programmare in Java. Ancora strutture di controllo e cicli. Usare gli array. Array riempiti solo in parte. Ridimensionamento dinamico di array. Consultare la documentazione della libreria standard. lab4
4-Nov-2005
(recupero)
h 10:30 - 14:30
Programmare in Java. Cicli annidati. Semplici programmi ricorsivi. Array, gestione delle eccezioni, lettura e scrittura da/in file,  argomenti passati sulla riga di comando.
lab5
07-Nov-2005 Programmare in Java. Semplici metodi ricorsivi. Ordinamento di numeri. Generazione di successioni di numeri casuali. lab6
14-Nov-2005 Programmare in Java. Ordinare oggetti di classi che realizzano l'interfaccia Comparable. Programmare strutture dati che realizzano l'interfaccia Stack. Gestire criteri di confronto multipli nel metodo int compareTo(Object obj). lab7
21-Nov-2005 Programmare in Java. Code. Catene.  Iteratori e liste. Dizionari, tabelle e tabelle hash con bucket. lab8
28-Nov-2005
Simulazioni del questionario a risposte multiple e della prova di programmazione.
lab9

Prove d'esame

Le prove d'esame si svolgeranno con il seguente calendario.

Ciascuna prova d'esame si compone di tre parti: un questionario a risposte multiple (50 domande, tempo 55-60 minuti circa) e una prova pratica di programmazione (2 ore) che si svolgeranno in Aula Taliercio seguite da un esame orale (circa 20 minuti) che si svolgerà in un'aula del Dipartimento di Ingegneria dell'Informazione; questionario e prova pratica sono comuni a tutti gli studenti del settore dell'informazione. Per essere ammessi alla prova pratica è necessario ottenere un giudizio positivo nel questionario, per essere ammessi all'orale è necessario aver ottenuto un giudizio positivo nella prova pratica. La prova pratica viene, di norma, valutata solo se la soluzione proposta dal candidato compila senza errori. In caso di insuccesso ogni candidato può ripetere l'esame a ogni appello ma le tre parti (questionario, prova pratica e orale) debbono essere sostenute tutte sempre nello stesso appello. Per poter sostenere l'esame è indispensabile iscriversi nelle liste predisposte nella bacheca elettronica del Dipartimento di Ingegneria dell'informazione.

Prove di programmazione:
- 16.12.2005: testo, Container.java, EmptyQueueException.java, CQueue.java con lista concatenata, CQueue.java con array circolare, CMR.java, TestCMR.java, numeri.txt
- 11.01.2006: testo, Container.java, Dictionary.java, D.java con array non ordinato, D.java con array ordinato, D.java con  tabella hash, Oracolo.java, iliade.txt
- 18.07.2006: testo, Container.java, Dictionary.java, TourOperator.java, viaggi.txt
- 04.09.2006: testo, Stack.java, EmptyStackException.javaMyStack.java con LinkedList, MyStack.java con Array, MyExtendedStack.java, Main.java, testo.txt
- 18.09.2006: testo, StackAndQueue.java, EmptyStackException.java, EmptyQueueException.java, MySQ.java con DoublyLinkedList, MySQ.java con Array, MyExtendedSQ.java, Main.java, testo.txt

Programmi in Java

Per lo svolgimento degli esercizi di programmazione gli studenti possono utilizzare le postazioni dell'Aula Didattica Taliercio oppure una stazione di lavoro costituita da un personal computer dotato del sistema operativo Linux oppure Microsoft Windows (98, ME, NT, 2000 o XP) oppure di un MAC della Apple .

Per programmare in  Java in una propria postazione di lavoro con sistema operativo Linux o Microsoft Windows, sono indispensabili i seguenti componenti software:
- Java development Kit  (JDK5.0)  (dimensione circa 60 MBytes);
- documentazione J2SE 5.0 Documentation (dimensione circa 44 Mbytes).
Prima di installare JDK5.0 consultare le istruzioni di installazione.

Per programmare in Java in una postazione di lavoro Apple con sistema operativo Mac OS X 10.4 sono necessari i seguenti componenti software:
- Java 2 Platform, Standard Edition (J2SE) (dimensione circa 34 Mbytes);
- documentazione J2SE 5.0 Documentation (dimensione circa 44 Mbytes).

Un utile tutorial di java e' disponibile qui.

Se cercate un editor 'free' adatto alla stesura di programmi in Java da usare in ambiente MS Windows  provate  conTEXT.
Se cercate un ambiente integrato (IDE, Integrated Development Environment) 'free' per lo sviluppo di programmi Java, in Linux, MS Windows e MacOS X provate BlueJ. Con MS Windows potete provare anche jCreator.

Diario delle lezioni e trasparenze in formato PDF

Il diario riassume gli argomenti trattati a lezione e permette l'accesso alle trasparenze in formato .pdf.
NB: le trasparenze usate durante la settimana saranno disponibili solo alla fine della settimana stessa.