lunedì 31 dicembre 2012

Voti laboratorio

Ciao a tutti,
vi comunico che avete tempo per svolgere le attività di laboratorio fino al giorno del primo appello scritto (4 febbraio): in quella data sarà calcolato il vostro voto. Dopo tale data avrete comunque la possibilità di accedere al sistema per esercitarvi, ma queste attività non saranno conteggiate ai fini del voto. A tutti quelli che stanno per chiedermi quanti esercizi e valutazioni bisogna fare, la risposta è TUTTO.
Ai fini del voto i parametri presi in considerazioni sono: numero di esercizi risolti, numero di valutazioni risolte, abilità risolutore e abilità valutatore; gli ultimi due parametri sono calcolati con l'algoritmo presentato brevemente in laboratorio. Il voto finale di laboratorio è nell'intervallo [-4, 4].

Tanti auguri di buon anno

Luca

venerdì 21 dicembre 2012

Ventiduesima lezione - a.a. 2012-1013

Ecco i lucidi:



 Ed ecco le fotocopie distribuite a lezione:


Dovrei anche aver sistemato i lucidi delle lezioni 15 e 16 che non si riuscivano a scaricare, date un'occhiata e fatemi sapere.

Buone feste, la prossima lezione di teoria è il 9 gennaio 2013.
S.

mercoledì 5 dicembre 2012

Lab venerdì 14

*Per consentire lo svolgimento del test d'ingresso, nella giornata di
venerdì 14 dicembre saranno sospese fino alle ore 14.00 le lezioni
tenute presso i laboratori didattici di Scienze Matematiche, Fisiche e
Naturali.*

Venerdì 14 non ci sarà laboratorio.

Luca

sabato 24 novembre 2012

Laboratorio

Ciao a tutti,
venerdì 30 novembre non ci sarà il docente in laboratorio. Lo spazio è comunque a vostra disposizione nel caso vogliate procedere con lo svolgimento degli esercizi.

Luca

giovedì 1 novembre 2012

Messaggio pubblicitario

Il 9 e 10 novembre presso la sede universitaria di v. Tomadini, si terrà il secondo forum Udine3D. Nel programma sono previste conferenze e workshop. Questi ultimi a pagamento, ma la Banca di Cividale finanzia 100 borse di studio per giovani tra i 16 e i 30 anni residenti in Friuli Venezia Giulia.
Chi è interessato si dia da fare...

lunedì 29 ottobre 2012

Come non detto

Il 2 novembre tutte le strutture d'Ateneo saranno chiuse. Quindi, contrariamente a quanto detto in precedenza, anche la lezione del 2 novembre è annullata.

venerdì 26 ottobre 2012

Laboratorio 2 novembre

La lezione del 2 novembre in laboratorio è annullata. Il laboratorio è comunque a vostra disposizione per lo svolgimento degli esercizi assegnati.

Luca

Prossima settimana

Vi ricordo che la lezione del 31 non ci sarà, mentre quella del 2 novembre sì.
Per premiare chi rinuncia al ponte, venerdì spiegherò come si fa a passare l'esame.

Ottava lezione a.a. 2012-2013

Siamo arrivati alla slide 13.

sabato 13 ottobre 2012

Sospensione lezione laboratori informatici


Per consentire lo svolgimento del test d'ingresso, nella giornata di venerdì 19 ottobre saranno sospese tutte le lezioni che si svolgono nei laboratori didattici di Scienze Matematiche, Fisiche e Naturali.

mercoledì 10 ottobre 2012

mercoledì 5 settembre 2012

Progetto per l'appello del 17, 20 settembre

Anche per il prossimo appello (17 settembre), il progetto è lo stesso che trovate qui. La consegna deve essere fatta entro l'inizio dello scritto del 17 settembre.

S.

martedì 14 agosto 2012

Progetto per l'appello del 3, 10 settembre

Anche per il prossimo appello (3 settembre), il progetto è lo stesso che trovate qui. La consegna deve essere fatta entro l'inizio dello scritto del 3 settembre.

Nota: l'orale è stato posticipato dal 6 al 10 settembre, stessa ora (9:00) e aula (44).

S.

venerdì 6 luglio 2012

Progetto per appello 23, 26 luglio 2012

Il progetto per il prossimo appello è lo stesso che trovate qui. (la consegna deve essere fatta entro il 23 luglio)

lunedì 18 giugno 2012

Chiusura del laboratorio

Ciao a tutti,

riporto sul blog quanto detto in passato in laboratorio, essendo di interesse per tutti. I voti per le attività di laboratorio saranno calcolati il giorno dell'esame scritto, 25 giugno. La piattaforma moodle rimarrà sempre aperta affinché possiate comunque esercitarvi qualora lo riteneste utile, ma i voti saranno calcolati al 25 giugno, per tutti gli studenti indipendentemente dall'appello di esame che intendete affrontare. Il voto sarà valido per tutto l'anno.


Il voto di laboratorio viene calcolato con la stessa procedura dello scorso anno. Consideriamo 4 parametri, ognuno dei quali può avere un voto compreso tra -2 e 2 a seconda della qualità e quantità dell'attività svolta. La media armonica dei quattro parametri moltiplicata per due dà il voto finale del laboratorio, che sarà compreso quindi tra -4 e 4.

Di seguito i 4 parametri con il voto:

1) Numero di esercizi semplici risolti:
INTERVALLO : PUNTI
162 - 137 : 2
136 - 109 : 1
108 - 81 : 0
80 - 41 : -1
40 - 0 : -2

2) Numero di esercizi valutazione risolti:
INTERVALLO : PUNTI
24 - 21 : 2
20 - 16 : 1
15 - 11 : 0
10 - 6 : -1
5 - 0 : -2

3) Voto risolutore:
INTERVALLO : PUNTI
1,00 - 0,81 : 2
0,80 - 0,61 : 1
0,60 - 0,41 : 0
0,40 - 0,21 : -1
0,20 - 0 : -2

4) Voto valutatore: vedi voto risolutore

Per ogni dubbio mi trovate via mail, ricordatevi però di leggere le risposte  :-)

Luca

venerdì 8 giugno 2012

Progetto per l'appello del 25,28/06/2012


Premessa

Leggete *bene* *tutte* le istruzioni! In particolare i paragrafi modalità e raccomandazioni.

Introduzione

Nel paese di Nonèmaicolpamiaèsemprecolpadeglialtri occorre ripianare un enorme debito accumulato negli anni. I governo decide di introdurre la nuova tassa UMI. Viene deciso di dividere le ricchezze degli abitanti di Nonèmaicolpamiaèsemprecolpadeglialtri in un certo numero di categorie e ad ogni categoria viene applicata un'aliquota diversa. Invece di sparare a caso le aliquote e le categorie, il governo a seguito di una consultazione popolare su web, decide di far sviluppare un programma per la simulazione del gettito.

Descrizione del lavoro

Si richiede di implementare un programma SimulaUMI che se invocato con cinque parametri dalla linea di comando
java SimulaUMI nomefile numerocategorie numerocontribuenti ricchezzamin ricchezzamax
genera un file che contiene i dati delle ricchezze di tutti i contribuenti di Nonèmaicolpamiaèsemprecolpadeglialtri generati casualmente. Ad esempio
java SimulaUMI prova1.txt 3 5 100 15000
genera il file prova1.txt contenente i dati delle ricchezze di 5 contribuenti divise in 3 categorie e comprese tra 100 e 15.000. Ad esempio prova1.txt potrebbe essere:
5
3
250, A
1326, B
808, A
7333, C
14903, C
Si può supporre che il numero massimo di categorie sia 10.


Se invece il programma SimulaUMI viene invocato con un solo parametro dalla linea di comando
java SimulaUMI nomefile
allora mostra un'interfaccia grafica che permette di specificare un'aliquota diversa per ogni categoria di ricchezza presente nel file passato come parametro e di calcolare il gettito totale.
Ad esempio, se si invoca il programma passando come parametro il file prova1.txt mostrato sopra, l'interfaccia grafica dovrà permettere di inserire 3 aliquote (ad esempio 10% per la categoria A, 20% per la categoria B, 30% per la categoria C) e dovrà permettere di visualizzare il gettito totale (nel caso in esempio il risultato di 250*10%+1326*20%+808*10%+7333*30%+14903*30%).

L'interfaccia grafica può essere definita a piacere.

Suggerimenti

  • Vi servirà il metodo Integer.parseInt(String) per convertire una stringa in un intero (ad esempio, la stringa "5" nell'int 5)
  • Vi saranno utili alcuni metodi della classe String
  • Vi servirà la classe java.util.Random
    Guardate la documentazione delle API corrispondente.

Modalità

Il livello di complessità del programma prodotto può essere deciso liberamente dagli studenti; ovviamente, progetti più articolati e complessi otterranno una valutazione migliore di progetti più semplici, ma si consiglia di fare "poco e bene" piuttosto che "tanto e male": progetti semplici possono comunque ottenere il massimo punteggio, purché ben fatti. La durata prevista del lavoro, considerando un gruppo di 3 persone che lavorano a tempo pieno, è di una settimana al massimo.
Il progetto va realizzato in gruppi di 3 persone (a meno di accordi particolari con il docente, possibili solo in casi di reale e comprovata necessità), e tutti i componenti di un gruppo devono conoscere tutti i dettagli del progetto, come se l'avessero realizzato da soli.
Va preparata una breve relazione, preferibilmente (ma non necessariamente) in XHTML + CSS, sul lavoro effettuato. La relazione deve contenere:
  1. Una breve analisi del problema ed una descrizione intuitiva della vostra soluzione (meno di 2 pagine!).
  2. Le eventuali semplificazioni apportate rispetto alla versione completa richiesta (poche righe). Le semplificazioni vanno adeguatamente motivate. Ovviamente, le semplificazioni porteranno a valutazioni inferiori, e in alcuni casi (quando le semplificazioni sono eccessive) a progetti insufficienti.
  3. Eventuali aggiunte (cose in più non richieste; ad esempio uso di componenti dell'AWT non spiegati a lezione, uso delle Swing, aggiunta di funzionalità non richieste, aggiunta di menu, ecc. ecc.). Prima di aggiungere qualsiasi cosa, pensate a fare bene quello che è richiesto.
  4. Le motivazioni di tutte le scelte effettuate (ad esempio, perché avete apportato una semplificazione, perché avete deciso di usare certi componenti grafici e non altri, perché avete fatto certe scelte di progetto piuttosto che altre, e così via).
  5. Il listato completo del programma, con commenti (in javadoc, ma non solo), scritto in font non proporzionale (come questo: la "i" e la "m" occupano la stessa larghezza) e opportunamente incolonnato ("indentato").
  6. Una "prova di esecuzione" (di circa 3 pagine) che illustri il funzionamento del programma: una spiegazione con testo e figure del modo in cui il programma funziona (aspetto dell'interfaccia utente, esempio di esecuzione adeguatamente spiegato, ecc.)
Di solito il progetto va consegnato inderogabilmente entro l'inizio della prova scritta dell'appello, ma anche per questo appello facciamo un'eccezione: la scadenza per la consegna è il lunedì 25 giugno 2012 ore 09:00. La consegna va effettuata sia in forma cartacea (1 copia, depositatela nella "Drop-box" sulla porta dello studio di Mizzaro o consegnatela all'inizio della prova scritta) sia via posta elettronica (2 copie, una per docente, indirizzi: coppola@uniud.it e mizzaro@dimi.uniud.it). Si richiede un unico messaggio (inviato dal proprio indirizzo email ufficiale. Messaggi da fiorellino88@gmail.com o simili non verranno presi in considerazione):
  • con oggetto "Progetto per Programmazione [TWM]",
  • contenente nel corpo i nomi dei componenti del progetto e,
  • in allegato ("attach"), in un unico file compresso (ad es. zippato), la relazione, il codice sorgente (i file ".java") e il bytecode (i ".class").
Riceverete una notifica dell'avvenuta riscezione dell'email.
NOTA Questo progetto è valido per chi intende sostenere l'esame nell'appello del 25, 28 giugno 2012, e va quindi consegnato entro la scadenza. Non si accetteranno ritardi per nessun motivo. Per gli appelli successivi saranno predisposti altri progetti.

Raccomandazioni

Alla valutazione del progetto concorrono vari aspetti (rilevanza delle semplificazioni apportate, qualità della relazione, ecc.), ma è di prioritaria importanza la qualità del programma prodotto, soprattutto per quanto concerne le caratteristiche di leggibilità, modificabilità... Esempi di criteri per ottenere una valutazione positiva:
  • Il programma funziona?
  • Resiste agli errori di interazione con l'utente?
  • Si riescono ad apportare piccole modifiche nel comportamento senza riscrivere molto codice?
  • L'interfaccia utente grafica è ridimensionabile? (ossia: non avete usato setResizable(false))? E quindi la si può usare su schermi di varie dimensioni?
  • Avete usato i layout manager?
  • Il codice è scritto correttamente, e avete seguito i principi della programmazione strutturata, dell'occultamento delle informazioni e dell'object oriented?
  • Il codice è commentato? Ci sono abbastanza commenti? Non ci sono troppi commenti? I commenti non sono scontati? I tre tipi di commenti disponibili in Java sono stati usati in modo corretto?
  • Avete rispettato le convenzioni sui nomi degli identificatori in Java?
  • La relazione è chiara?
  • Le variabili d'istanza e di classe non possono essere ridefinite come variabili locali?
  • ecc. ecc.
Altre raccomandazioni:
  • Non dichiarate una variabile se poi la usate una sola volta. Potete sicuramente scrivere un programma analogo senza quella variabile.
  • Non copiare scriteriatamente il codice trovato su Internet: chiunque può scrivere su Internet e non è detto che sappia cosa sta facendo.
  • Evitate al massimo setPreferredSize. Piuttosto pensate ad un layout che funzioni con qualsiasi dimensione sensata.
  • Evitate commenti del tipo x = 2; //assegno 2 a x: qualunque programmatore sa cosa vuol dire x=2;!!
  • Non usate static solo perché il compilatore dà errore. Usatelo solo se serve veramente.
  • Limitate al massimo l'uso delle variabili d'istanza e di classe, preferite le variabili locali ai metodi.
  • Non usate public solo perché il compilatore dà errore. Usatelo solo se serve veramente.
Per eventuali dubbi rivolgersi ai docenti, o durante l'orario di ricevimento o per posta elettronica. Ma solo dopo aver letto *bene* *tutte* le istruzioni! In particolare i paragrafi modalità e raccomandazioni.

venerdì 4 maggio 2012

Esperimento

Il 16 maggio ripeteremo l'esperimento di valutazione della lezione in tempo reale che avete già fatto lo scorso 16 dicembre. Segnatevi la data e ricordatevi di portare il vostro notebook.

mercoledì 2 maggio 2012

Lezione 19

I lucidi li trovate qui. Siamo arrivati alla slide numero 21.

D'ora in avanti, per gli esempi a lezione, userò BlueJ.

giovedì 26 aprile 2012

Lezione laboratorio 27/04 annullata

Salve a tutti, a causa di alcune sovrapposizioni la lezione di laboratorio del 27 / 04 è annullata. Avete comunque il laboratorio prenotato per gli esercizi. Recupereremo la lezione martedì nella fascia riservata del laboratorio e poi, a seguire, il venerdì successivo.

Scusandoci fin da subito per il poco preavviso e per l'inconveniente vi rinnovo l'invito a segnalarci qualsiasi problema con gli esercizi, sia a lezione sia via mail a vassena@mobe.it e casoto@mobe.it

domenica 11 marzo 2012

Lezione annullata

La lezione di mercoledì 14 marzo è annullata.
La prossima lezione sarà mercoledì 21.

martedì 6 marzo 2012

Voti provetta!

Sono finalmente riuscito a correggere le provette. Chiedo di nuovo scusa per il ritardo. Ho caricato i risultati su esse3, se non li avete ricevuti (e avete consegnato la provetta) contattatemi perché vuol dire che qualcosa non ha funzionato come dovuto.

Commenti:
  • Le provette sufficienti sono 36 su 69 consegnate (il 52%).
  • Distribuzione dei voti:

  • Un consiglio per chi ha preso un voto appena sufficiente: ri-studiate questa parte del corso. Altrimenti rischiate seriamente di non passare l'esame (sia perché queste conoscenze sono necessarie per la seconda parte, sia perché all'orale vi saranno fatte domande anche su questa parte del corso...)
Per chi volesse  visionare il proprio compito, sarò in laboratorio (LAB_1) martedì 13 dalle 10:30 alle 11:00.

S.

venerdì 2 marzo 2012

Comunicazione di servizio

Ciao a tutti, le lezioni di laboratorio riprenderanno dalla prossima settimana. Come per il primo semestre ci sarà un'unica lezione alla settimana, per le altre avete comunque il laboratorio prenotato. La prima lezione sarà venerdì 9 alle 08:30. Chiediamo scusa per il disagio.

venerdì 13 gennaio 2012

Avviso

La lezione (il test sull'iterazione) di venerdì 20/1 si terrà in aula H.

S.

Lezione 12

Abbiamo finito la ricorsione e poi siamo passati alla lezione sulla computabilità, che abbiamo finito. I lucidi sono sempre quelli dello scorso anno.

Comunicazioni di servizio:
  • questa è stata l'ultima lezione di teoria del primo p.d.
  • continuate ad andare in laboratorio fino alla fine del p.d.
  • venerdì prossimo c'è il test sull'iterazione (vi comunicherò l'aula con un avviso su questo blog).
  • gli argomenti della provetta sono: tutto quanto fino alla ricorsione e computabilità incluse.
S.