====== Laboratorio di Programmazione Concorrente e di Sistema 2005/06 ====== ===== Informazioni pratiche ===== * Docente: [[http://www.di.unipi.it/~susanna/|Susanna Pelagatti]], ricevimento vedi sito web, stanza 346/DE, dip. Informatica * Assistenti: Edoardo Pistoletti (e.pistoletti [at] simplico [dot] it), [[http://www.di.unipi.it/~nids|Francesco Nidito]], [[http://www.di.unipi.it/~scordino|Claudio Scordino]] * Gruppo studenti di supporto: Antonio Bartolini, Luca Benedetti, Giuseppe D'Angelo, Giuseppe Pitta, Daniele Terreni, Andrea Venturi * Ricevimento elettronico: contattate il docente o gli assistenti per posta elettronica **inviando tutti i file del programma ed indicazioni chiare su come riprodurre l'errore**. * Orario del corso * Corso A * Lezione: Mer 9-11 in aula A * Esercitazione in aula H Ven 9-11 (gruppo A1) e Ven 11-13 (gruppo A2) * Corso B * Lezione: Lun 9-11 in aula B * Esercitazione in aula H Mer 11-13 (gruppo B1) e Mer 14-16 (gruppo B2) * La frequenza del corso **non e' obbligatoria** ma parte della valutazione finale e' legata all'attivita' svolta durante il corso. ===== Avvisi urgenti ===== Per tutti gli avvisi urgenti vedete nella pagina degli [[lcs:lcs06:avvisi|avvisi]]. ===== Lezioni ed esercitazioni ===== Vedete la pagina delle [[lcs:lcs06:esercitazioni:start|lezioni ed esercitazioni]] per i materiali relativi a ogni lezione ed esercitazione. ===== Materiale didattico ===== ==== Slide delle lezioni ==== È possibile scaricare l'archivio delle {{lcs06-lezioni_progetto.tar.gz|slide delle lezioni e dei testi progetti}}. ==== Libro di testo ==== Marc J. Rochkind. **Advanced UNIX Programming 2nd Edition**, Addison-Wesley Professional Computing Series, 2004. Vedi anche [[http://www.basepath.com/aup/|il sito web del libro con sorgenti, esercizi e altre informazioni]]. Il libro si puo' acquistare direttamente dal sito web di cui sopra, o su [[http://www.amazon.com|Amazon]], [[http://www.gorilla.it|Gorilla]] o dal libraio sottocasa. Controllate bene i prezzi e le spese di spedizione, ci sono moltissime variazioni (per gli acquisti online serve la carta di credito). ==== FAQ ==== Per avere risposte alle domande piu' frequenti, vedere la pagina relativa alle [[faq|FAQ]] ==== Altro materiale ==== * Cfr. [[lcs:|il materiale presente negli altri anni accademici]] * (su Unix con introduzione alla programmazione di shell) G. Glass, K. Ables. **UNIX for Programmers and Users**, Prentice Hall, 1999. In particolare per la introduzione ai comandi Unix si possono consultare i capitoli 2 e 3 e per la programmazione bash servono i capitoli 4 e 5. * (su C) Kelley, Pohl. **C: Didattica e Programmazione** (seconda edizione), Addison-Wesley, 2004. * Kernighan & Pike //Programmazione nella pratica// Addison-Wesley, 1999. ISBN 8871920724. Un ottimo libro per migliorare lo stile di programmazione: insieme di consigli su come organizzare i programmi in modo ragionevole con esempi C e Java. * [[http://gapil.firenze.linux.it/|GaPiL]]: Guida alla Programmazione in Linux * Manuali in linea dei tool di sviluppo GNU: [[http://www.gnu.org/software/make/manual/make.html|make]] [[http://www.gnu.org/software/gcc/onlinedocs/|gcc]] [[http://www.gnu.org/software/emacs/manual/|emacs]] [[http://www.gnu.org/software/ddd/manual/|ddd]] [[http://www.sunsite.ualberta.ca/Documentation/Gnu/gdb-4.18/html_chapter/gdb_toc.html|GDB]] * [[http://www.tldp.org/LDP/abs/html/|Advanced Bash Scripting Guide]], la guida piu' completa e aggiornata sulla bash. * [[http://www.digilife.be/quickreferences/quickrefs.htm|Un sito di 'sommari' (quick references)]] su tutto! * Manuali in linea delle funzioni di libreria standard e delle SC: //man nomefunzione man -k argomento// * Altre informazioni in linea (bash, make tec.) //ESC-X info// da emacs. * Il sito di riferimento per le specifiche standard di tutte le funzioni SC e librerie [[http://www.unix.org/version3/online.html|Open Group SUS (Single Unix Specification)]]. E' gratuito (basta registrarsi). * [[http://pauillac.inria.fr/~xleroy/linuxthreads/faq.html|LinuxThreads Frequently Asked Questions (with answers)]] ===== Avvisi per gli studenti di anni successivi al secondo ===== === Studenti che non hanno dato ne' LPC ne' LPS === Questi studenti **devono** sostenere i nuovi laboratori: LLS con il [[http://www.di.unipi.it/~gervasi|professor Gervasi]] e LCS con la [[http://www.di.unipi.it/~susanna|professoressa Pelagatti]]. Una volta superati **entrambi** verranno verbalizzati gli esami di LPC dal [[http://www.di.unipi.it/~ste|professor Chessa]] e di LPS dalla [[http://www.di.unipi.it/~susanna|professoressa Pelagatti]]. === Studenti che hanno dato LPC ma non LPS === Gli studenti che hanno gia' superato LPC devono presentare le firme di frequenza del corso di LLS del [[http://www.di.unipi.it/~gervasi|professor Gervasi]] chiedendogli una certificazione per poter dare il progetto di LPS 05/06. Passato l'orale l'esame verra' verbalizzato come LPS (AA012) dalla [[http://www.di.unipi.it/~susanna|professoressa Pelagatti]]. Il nuovo progetto LPS 05/06 e' disponibile alla pagina degli [[avvisi|avvisi]]. === Studenti che hanno dato LPS ma non LPC === Questi studenti possono scegliere se fare un progetto in Java col [[http://www.di.unipi.it/~ste|professor Chessa]] o in C con la [[http://www.di.unipi.it/~susanna|professoressa Pelagatti]]. Chi desidera farlo in C puo' fare il [[progetto|progetto di LCS 05/06]] senza scadenze e senza la parte "Bash". ===== Esame ===== L'esame prevede la realizzazione di un [[progetto]] in gruppi di al piu' 2 studenti ed una prova orale individuale. Per dettagli sulla valutazione delle singole parti e sul metodo di calcolo del voto finale fate riferimento ai lucidi introduttivi. ===== Comments ===== Per tutto il resto mandate una email a [[susanna@di.unipi.it|Susanna Pelagatti]].