Laboratorio di programmazione

Avvertimento

sono stati pubblicati i risultati degli appelli di gennaio e febbraio.

Questa è la pagina del primo turno del modulo di laboratorio dell’‘insegnamento di Programmazione del Corso di laurea triennale Informatica Musicale. Il modulo di teoria del corso, tenuto dal prof. Carlo Mereghetti, ha una pagina web dedicata; in particolare, per le modalità di esame, si rimanda all’apposita sezione di tale pagina.

Nota bene

Si osserva che il corso ha subito sia un cambiamento del linguaggio di programmazione insegnato che è passato da C (insegnato negli A.A. precedenti al 2014/15) a Java, che un cambio di docente della parte di teoria, dal prof. Paolo Boldi (che ha tenuto il corso fino all’A.A. 2015/16) al prof. Carlo Mereghetti. Questa pagina contiene informazioni valide a partire dall’A.A. 2016/17, in particolare, chi volesse ancora sostenere l’esame in C deve rivolgersi ai docenti.

Informazioni generali

Il modulo di laboratorio è diviso in turni, appartengono al primo turno tutti e soli gli studenti il cui cognome è compreso (nell’ordine lessicografico) tra ABOLGHASEM e MATARANGASI (estremi inclusi). Le lezioni si svolgono di norma il venerdì dalle 9:30 alle 13:15 in aula Sigma

Le informazioni sul rapporto docente/studenti spiegano, tra l’altro, come contattare il docente del modulo di laboratorio per avere un supporto nello studio degli argomenti del corso.

Gli avvisi relativi al modulo di laboratorio saranno raggiungibili a partire dalla pagina degli avvisi (con particolare riferimento alle sezioni insegnamenti ed esami del sito del Coordinamento didattico di Scienze e tecnologie informatiche

Le lezioni e la prova d’esame si svolgeranno in ambiente GNU/Linux, nelle prossime sezioni di questa pagina sarà illustrato sia come ottenere l’accesso alle risorse del laboratorio, che come utilizzare il proprio computer (il cui uso è suggerito, in ogni caso, per svolgere gli esercizi a casa).

Uso delle risorse di laboratorio

L’uso delle risorse di calcolo del SILab (il laboratorio didattico di Via Comelico, di cui è parte l’aula Sigma) richiede l’attivazione di un account che si consiglia caldamente di effettuare prima dell’inizio del corso; l’attivazione può essere effettuata in modo autonomo, usando le credenziali di posta elttronica di Ateneo, tramite l’apposito sito.

Uso del proprio computer

Sebbene sia possibile programmare in Java praticamente con qualunque sistema operativo, le lezioni e sopratutto la prova d’esame faranno esclusivamente riferimento ad un sistema operativo della famiglia GNU/Linux. Poiché un ambiente basato su tale sistema è disponibile presso il laboratorio, il docente ed il tutor del corso non forniscono alcun supporto all’uso di risorse personali, è però possibile consultare la guida su come come Installare GNU/Linux sul proprio computer per avere utili suggerimenti.

Una volta dotati di un ambiente di tipo GNU/Linux, è necessario installare il Java SE Development Kit 8 (JDK) — utile a sviluppare il software, non il Java Runtime Environment (JRE) che è sufficiente solo ad eseguirlo — ufficiale della Oracle. Si può installare il JDK appropriato per il proprio sistema operativo scaricandolo dall’apposita pagina di download e seguendo le istruzioni.

Installazione assistita

In alternativa, per installare il JDK su Ubuntu è possibile usare lo script disponibile all’indirizzo http://git.io/vCY58, per farlo in modo agevole è sufficiente dare il seguente comando alla shell:

curl -sL http://git.io/vCY58 | bash

che scaricherà e porrà in esecuzione lo script, dopo aver chiesto all’utente di digitare la sua password (necessaria ad autorizzare l’installazione).

In modo del tutto simile, per installare il JDK su OS X di Apple è sufficiente dare il seguente comando alla shell:

curl -sL http://git.io/vCY53 | bash

che, sempre previa autorizzazione, procederà a scaricare ed installare il kit.

Svolgimento delle esercitazioni e della prova d’esame di laboratorio

La prova d’esame di laboratorio si svolge in modo molto simile alle lezioni individuali, fatto salvo che non è consentito l’accesso in rete se non ad un numero molto limitato di risorse; una descrizione più accurata è data dalle Istruzioni per lo svolgimento degli esercizi del laboratorio di programmazione.

In particolare, alla prima lezione, gli studenti devono configurare il proprio account impartendo il seguente comando alla shell:

curl -sL https://git.io/labprog | bash

Valutazione della prova d’esame e salto d’appello

La prova d’esame è composta da un esercizio filtro, seguito da alcuni altri esercizi (il cui numero dipende dalla durata dell’esame e dalla complessità degli esercizi).

Chi non consegna entro la prima mezz’ora una soluzione completamente corretta (ossia che produce esattamente il risultato atteso su tutti i casi di test) dell’esercizio filtro è automaticamente bocciato e (negli appelli per cui è previsto) subisce il salto d’appello, ossia non può iscriversi all’appello immediatamente successivo. La valutazione dell’esercizio filtro è comunicata ai presenti poco dopo lo scadere della mezz’ora, chi ottiene una valutazione negativa è invitato a lasciare l’aula d’esame.

Chi ha ricevuto una valutazione positiva riguardo all’esercizio filtro procede nello svolgimento dell’esame; al più mezz’ora prima del termine di consegna (su esplicito invito del docente) chi lo ritiene opportuno può ritirarsi (senza lasciare l’aula); tutte le prove degli studenti non ritirati saranno valutate dal docente.

Nei giorni successivi all’esame, il docente comunica per ciascuno studente se la valutazione della sua prova è:

  • sufficiente, nel qual caso lo studente è promosso, con una valutazione da A (30-30L/30) a D (18-21/30).
  • insufficiente, o E (13-17/30), nel qual caso lo studente è bocciato, ma potrà sostenere di nuovo la prova a partire dall’appello successivo,
  • gravemente insufficiente (minore di 13/30), nel qual caso lo studente è bocciato e subirà (negli appelli per cui è previsto) il salto d’appello,

Risulta evidente che la possibilità di ritirarsi è utile nel caso in cui uno studente valuti in modo autonomo che la sua prova è gravemente insufficiente e preferisca il ritiro al salto d’appello.

Chi, pur avendo conseguito una valutazione sufficiente, intende rifiutare il voto può semplicemente presentarsi ad un appello successivo, ma si noti bene che in tal modo viene invalidata la valutazione precedente qualunque sia l’esito della nuova prova — ad esempio, in caso di nuova prova insufficiente, la precedente valutazione sufficiente viene annullata.

Traccia delle lezioni

Questa sezione contiebe informazioni circa le attività svolte durante le lezioni e gli esercizi da svolgere, sia in classe che a casa.

Lezione Data Argomento Esercizi e materiale didattico
1 21/10 GNU/Linux Introduzione a GNU/Linux, slide
2 28/10 Il primo programma Java laboratorio_01, risultati_01
3 4/11 La selezione laboratorio_02, risultati_02
4 11/11 I cicli laboratorio_03, risultati_03
5 18/11 Ancora cicli laboratorio_04, risultati_04
6 25/11 I metodi statici laboratorio_05, risultati_05
7 2/12 Metodi e ricorsione laboratorio_06, risultati_06
8 16/12 Array laboratorio_07, risultati_07
9 13/1 Esercizi di ripasso laboratorio_08
10 20/1 Esercizi di ripasso laboratorio_09

Potete consultare l’andamento generale del laboratorio che mostra, per ciascuno studente, la percentuale di esercizi svolti (che superano tutti i test).

Materiale didattico

Questa sezione contiene una indicazione circa il materiale didattico di supporto al laboratorio e di lettura facoltativa.

Libri di testo

I libri suggeriti sono:

Inoltre, un ottimo riferimento (disponibile gratuitamente on-line) è:

Materiale di supporto

Per la parte di laboratorio potete fare riferimento a:

Letture consigliate (facoltative)

Altri testi sono elencati sullo scaffale del programmatore.