Docente: | Luca Tesei |
Ufficio: | Dipartimento di Matematica e Informatica - Polo Informatico, via Madonna delle Carceri 9, 62032 Camerino (MC) ITALY |
Telefono: | (+39+) 0737 402572 |
Indirizzo e-mail: | luca.tesei@unicam.it |
Home Page principale: | http://www.di.unipi.it/~tesei/ |
L'obiettivo del corso è quello di illustrare i principi, gli strumenti e le tecniche della programmazione di applicazioni informatiche. A questo scopo sono illustrate le tecniche formali per descrivere le caratteristiche dei linguaggi di programmazione: grammatiche e automi per descrivere la sintassi e sistemi di transizione per descrivere la semantica. Le tecniche sono esemplificate su un sottoinsieme di Java. Sono poi introdotte, tramite esempi di strutture dati (array) e di algoritmi, alcune tecniche fondamentali di programmazione iterativa e ricorsiva.
La valenza del corso è di 6 CFU e pertanto, in base al nuovo carico di lavoro per CFU introdotto in questo anno accademico per la classe 26, per ogni CFU sono previste 4 ore di didattica frontale tradizionale (il docente fa lezione) e 3 ore di esemplificazioni e esercitazioni in aula. In totale, quindi, il corso prevede 24 ore di lezione e 18 ore di esercitazione.
L'obiettivo del corso è quello di comprendere in maniera approfondita un linguaggio di programmazione, nella fattispecie Java. Durante il corso gli studenti saranno chiamati a scrivere, compilare ed eseguire piccole applicazioni Java. Particolare attenzione sarà data allo sviluppo delle capacità collegate e coadiuvanti la programmazione, quali il testing, la documentazione del codice, l'ampliamento e l'utilizzo di codice esistente, la progettazione preliminare.
La valenza del corso è di 6 CFU come Programmazione. La stessa divisione di ore vale quindi anche per il Laboratorio. Sono previste ogni settimana alcune ore di lezione da svolgersi di fronte ai calcolatori in un un'aula laboratorio. In queste lezioni/esercitazioni gli studenti saranno chiamati a sperimentare interattivamente col docente le nozioni apprese nelle ore di lezione, in particolare potranno esercitarsi nella scrittura di programmi suggeriti di volta in volta e nel loro perfezionamento ed esecuzione.
Inizio lezioni: Lunedì 18/10/2004, ore 16 Aula AA1 -
Polo
Informatico - Via Madonna delle carceri, 9 Camerino
Fine lezioni pevista: Venerdì 10/12/2004
Lunedì |
Martedì |
Giovedì |
Venerdì |
|
8-9 |
Progr. Aula AA1 |
|||
9-10 |
Progr. Aula AA1 |
|||
10-11 |
Lab. di Progr. Aula AA1 |
Progr. Aula AA1 |
Lab. di Progr. Aula LA1 |
|
11-12 |
Lab. di Progr. Aula AA1 |
Progr. Aula AA1 |
Lab. di Progr. Aula LA1 |
|
12-13 |
Lab. di Progr. Aula LA1 |
|||
13-14 |
||||
14-15 |
||||
15-16 |
||||
16-17 |
Progr. Aula AA1 |
|||
17-18 |
Progr. Aula AA1 |
|||
18-19 |
Lab. di Progr. Aula AA1 |
Martedì dalle 10 alle 12 nel mio studio al primo piano del Polo Informatico.
Gli studenti di Ascoli che vogliono fare un ricevimento in teleconferenza possono richiedermelo per appuntamento a lezione o via e-mail.
Num | Settimana | Progr Lezione |
Progr Eserc |
Lab Lezione |
Lab Eserc |
Totale |
---|---|---|---|---|---|---|
I | 18/10-22/10 | 5 |
1 |
3 |
3 |
12 |
II | 25/10-29/10 | 3 |
3 |
4 |
2 |
12 |
III | 1/11-5/11 | 1 |
2 |
2 |
3 |
8 |
IV | 8/11-12/11 | 3 |
4 |
3 |
2 |
12 |
V | 15/11-19/11 | 3 |
2 |
3 |
2 |
10 |
VI | 22/11-26/11 | 4 |
2 |
4 |
2 |
12 |
VII | 29/11-3/12 | 3 |
2 |
3 |
2 |
10 |
VIII | 6/12-10/12 | 2 |
2 |
2 |
2 |
8 |
--- | Totale Parz | 24 |
18 |
24 |
18 |
84 |
Trovate un elenco dei registri online delle lezioni qui. Ci sono due voci per PROGRAMMAZIONE+LABORATORIO DI PROGRAMMAZIONE: una contiente il registro di Programmazione e l'altra quello di Laboratorio.
Per entrambi i corsi metterò a disposizione su questa pagina il materiale su cui studiare ed esercitarsi che sarà, a seconda dei casi, sottoforma di:
Per il Laboratorio, il libro di riferimento è il seguente:
Qualche copia è disponibile anche presso la biblioteca c/o Dip. di Matematica e Informatica, via Madonna delle Carceri, 9 Camerino.
Il libro di riferimento non è vincolante. L'importante, per il laboratorio, è apprendere gli elementi fondamentali del linguaggio e dimostrare di saper scrivere dei programmi (il progetto). Il libro è usato dal docente soprattutto come aiuto nel decidere l'ordine di esposizione degli argomenti, che comunque si trovano certamente in tutti i libri su Java.
Tramite il registro delle lezioni e i lucidi pubblicati in questa pagina chi non segue o non può seguire può sempre tenersi aggiornato su ciò che è stato fatto.
In questa sezione metterò via via il materiale su cui studiare/fare esercizi
Powerpoint 2000 | pdf Print |
Powerpoint 2000 | pdf Print |
Powerpoint 2000 | pdf Print | Codice Java zip |
Powerpoint 2000 | pdf Print | Codice Java zip |
Powerpoint 2000 | pdf Print | Codice Java zip |
Powerpoint 2000 | pdf Print | Codice Java zip |
Powerpoint 2000 | pdf Print |
Powerpoint 2000 | pdf Print | Codice Java zip |
Powerpoint 2000 | pdf Print |
Powerpoint 2000 | pdf Print | Codice Java zip |
Postscript |
Powerpoint 2000 | pdf Print | Codice Java zip |
Powerpoint 2000 | pdf Print | Codice Java zip |
Powerpoint 2000 | pdf Print | Codice Java zip |
Powerpoint 2000 | pdf Print | Codice Java zip |
Powerpoint 2000 | pdf Print | Codice Java zip |
Powerpoint 2000 | pdf Print | Codice Java zip |
Codice Java zip |
Powerpoint 2000 | pdf Print |
Powerpoint 2000 | pdf Print | Codice Java zip |
Powerpoint 2000 | pdf Print | Codice Java zip |
Powerpoint 2000 | pdf Print |
Powerpoint 2000 | pdf Print |
Si possono scaricare qui, qui e qui. Sono testi di verifiche e di esami i cui esercizi coprono tutto il programma.
Per esercitarsi a programmare gli esercizi proposti nelle lezioni di Laboratorio gli studenti possono usufruire dei laboratori del Polo Informatico (dotati del software richiesto nell'aula LA1). Alternativamente possono installare gratuitamente il seguente software su un calcolatore di loro proprietà:
Per facilitare la diffusione delle informazioni relative al corso ho deciso di creare una newsletter. Gli studenti che vogliono iscriversi possono mandare una mail, dall'indirizzo con cui vogliono iscriversi*, a luca.tesei@unicam.it con l'Oggetto "Iscrizione PROGR20042005" (Per la cancellazione dalla lista mandare una mail con l'Oggetto: "Cancellazione PROGR20042005)").
La lista di indirizzi sarà usata per comunicare date di ricevimento, date di appelli, pubblicazione di nuove dispense, pubblicazione dei risultati degli esami, eventuali variazioni degli orari e quant'altro sia ritenuto utile.
* Ricordo che l'Università di Camerino mette a disposizione degli studenti iscritti uno spazio mail attraverso il server https://mail.studenti.unicam.it/horde/
La frequenza delle lezioni non è obbligatoria, anche se vivamente consigliata. Gli studenti che fossero impossibilitati a seguire le lezioni per motivi di lavoro o altro possono comunque seguire gli argomenti svolti a lezione e le esercitazioni tramite il materiale pubblicato via via. Tale materiale è sufficiente per poter preparare in maniera soddisfacente la prova scritta e orale di Programmazione. Per il Laboratorio, invece, gli studenti non frequentati saranno ovviamente più svantaggiati. Tuttavia, seguendo i lucidi, il libro di testo o un qualunque libro su Java, essi si possono esercitare a programmare, qualora già non lo facciano per professione.
Secondo la tabella per le MODALITÀ DI FREQUENZA E DI ESAME PER I CORSI DEL PRIMO BIENNIO DEL VECCHIO ORDINAMENTO NON PIÙ ATTIVATI, gli studenti del Vecchio Ordinamento che devono sostenere l'esame dei corsi Linguaggi di Programmazione (5 CFU) e Laboratorio di Linguaggi di Programmazione (5 CFU) devono concordare con il docente dei corsi di Programmazione+Laboratorio di Programmazione il programma relativo a 5 CFU.
Ecco il concordato:
I voti saranno registrati dal docente del corso di Programmazione+Laboratorio di Programmazione.
Per gli studenti che vengono dal corso di laurea in Matematica, che hanno lì sostenuto l'esame di Elementi di Informatica (5 CFU) e devono ottenere 7 CFU con programma da concordare con il docente di Programmazione+Laboratorio di Programmazione ecco il concordato:
Anche in questo caso l'esame è verbalizzato dal docente di Programmazione+Laboratorio di Programmazione.
Infine, per gli studenti del nuovo ordinamento:
In entrambi i casi il voto ottenuto precedentemente nella parte di esame sostenuta rimane valido e farà media con il voto della parte rimanente da sostenere.
Secondo lo statuto i corsi di Programmazione e Laboratorio di Programmazione danno luogo ad un voto unico con valenza di 12 CFU. La procedura che adotterò è la seguente: ogni corso avrà le sue prove e il suo voto. Il voto finale si otterrà facendo la media aritmetica arrotondata per eccesso
Gli appelli saranno fissati nei periodi di sospensione della didattica e saranno indicativamente 1/2 per ogni periodo.
Prova scritta con esercizi da risolvere (per avere un'idea si possono consultare i vecchi testi con soluzione) seguita da una prova orale. Per essere ammessi all'orale occorre avere ottenuto nello scritto una votazione almeno pari a 15/30.
La prova di laboratorio consiste nella realizzazione di un progetto. Il progetto consisterà nello scrivere una piccola applicazione Java funzionante le cui specifiche verranno date verso la fine del corso. Il progetto può essere svolto anche in gruppi (di massimo 4 persone).
Entro alcuni giorni dalla data dell'appello di Laboratorio ogni
gruppo che vuole sostenere l'esame deve inviare, via e-mail, il codice
del progetto al docente. Il giorno dell'appello ogni gruppo
sarà chiamato a illustrare il proprio lavoro. Poi, in base a un
orale singolo, ogni componente otterrà il suo voto. Le domande
di orale verteranno sul progetto e sul linguaggio Java (le
caratteristiche viste nel corso).
Progetto di Laboratorio 2004/2005
Il progetto ha validità dal Primo Appello del 2004/2005 all'ultimo appello di Settembre 2005. Per sostenere l'esame negli appelli successivi a questo si dovrà presentare un nuovo progetto che sarà dato a tempo debito.
Ricordo che per essere ammessi all'orale di Laboratorio i sorgenti (.java) del progetto, raggruppati in una cartella che poi va compressa in .zip, vanno spediti via email a luca.tesei@unicam.it entro e non oltre la scadenza indicata ad ogni appello (per il prossimo le ore 24:00 del 01/04/2005).
Il testo del progetto si scarica da qui.
New: Raccomandazioni e chiarimenti sul progetto qui.
Testo1 | Testo2 | Soluzione Testo1 |
Testo1 | Testo2 | Soluzione Testo1 |
Testo | Soluzione |
Testo | Soluzione |
Testo | Soluzione |
Testo | Soluzione |
Testo | Soluzione |