Pagina web ufficiale dei corsi di:

Anno Accademico 2004/2005

Corso di Laurea in Informatica (classe 26), Facoltà di Scienze e Tecnologie, Università di Camerino.

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/

Obiettivi formativi

Programmazione

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.

Laboratorio di Programmazione

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.

Programma dettagliato

Programmazione

Laboratorio di Programmazione

Calendario

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

Orario


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




Orario di ricevimento

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.

Computo delle ore

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

Registro ONLINE delle lezioni

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.

Materiale didattico

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:

Cay S. Horstmann "Concetti di informatica e fondamenti di Java 2 - Seconda edizione" Apogeo 2002, ISBN: 88-503-2024-8

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.

Testi/materiali *solo di consultazione*

Dispense/Esercizi/Software da scaricare:

In questa sezione metterò via via il materiale su cui studiare/fare esercizi

Dispense

Esercizi con soluzione

Si possono scaricare qui, qui e qui. Sono testi di verifiche e di esami i cui esercizi coprono tutto il programma.

Software

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à:

  1. Java J2SE SDK 1.4 o versione superiore. E' l'implementazione più diffusa del linguaggio Java. Si scarica gratuitamente da http://java.sun.com/j2se/1.4.2/download.html e funziona su diverse architetture fra cui Windows, Linux e Mac
  2. Un editor specifico per la programmazione in Java, scritto in Java (e quindi portabile in diverse architetture) e semplice da usare è Ginipad. Si scarica gratuitamente su http://www.mokabyte.it/ginipad/download_it.htm con licenza GPL. (Nota: Ginipad dipende dalla J2SE SDK 1.4 o superiore, quindi installare prima quella)
  3. Molta della documentazione sulla vasta raccolta di API Java si può scaricare in formato html gratuitamente da http://java.sun.com/docs/index.html
  4. Ambiente didattico BlueJ (http://www.bluej.org/). Consente di interagire con semplici applicazioni Java in maniera visuale ed interattiva. Si scarica gratuitamente dal sito. Esiste una versione del manuale in italiano (http://www.bluej.org/doc/documentation.html). (Nota: Bluej dipende dalla J2SE SDK 1.4 o superiore, quindi installare prima quella)

Newsletter del Corso

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/

Studenti Lavoratori

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.

Studenti del vecchio ordinamento o degli anni passati

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.

Modalità di svolgimento dell'esame

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.

Programmazione

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.

Laboratorio di Programmazione

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.

Appelli: Date, Testi e soluzioni delle prove scritte




Luca Tesei
Last modified: Mon Oct 10 13:22:28 CEST 2005