Laboratorio di Programmazione
Novità
- 26 Febbraio 2018: aggiornata pagina per corso a.a. 2017-2018
- 14 Giugno 2016: aggiornato materiale lezione e registro.
- 4 Maggio 2016: aggiornato materiale lezione e registro.
- 11 Marzo 2016: aggiornamento libri consigliati.
- 1 Marzo 2016: creazione della pagina web e del registro lezioni e laboratorio.
Orario e aule - Ricevimento - Annunci su lezioni
Inizio lezioni a.a. 2017-2018: 7 Marzo 2018.
Termine lezioni: 2 Maggio 2018.
Il laboratorio è diviso su due turni: dalle 14:00 alle 16:00, dalle 16:00 alle 18:00. Gli studenti sono divisi in due gruppi (quelli con cognome che comincia da xx ad xx, quelli con cognome che comincia da xx a xx - ancora da stabilire).
Lezioni:
- Mercoledì 7 Marzo 2018: 14:00-18:00 Aule 111, 112 e 113.
- Mercoledì 14 Marzo 2018: 14:00-18:00 Aule 111, 112 e 113.
- Mercoledì 18 Aprile 2018: 14:00-18:00 Aule 111, 112 e 113.
- Mercoledì 2 Maggio 2018: 14:00-18:00 Aule 111, 112 e 113.
- Sito web dell'orario. Nota: al di fuori delle 4 lezioni indicate non ci sono altre lezioni frontali.
- Registro lezioni 2015-2016: riporta l'argomento di ogni lezione, i riferimenti ai lucidi usati ed ai programmi delle esercitazioni.
Vacanze: -
Ricevimento: Giovedì dalle 16:00 alle 18:00 presso il MICC in Viale Morgagni 65 - fissare comunque l'appuntamento per email: marco.bertini@unifi.it
Assenze:
- -
Date esame
È necessario prenotarsi mediante il modulo web disponibile all'indirizzo: http://sol.unifi.it/prenot/prenot
L'esame è svolto presso i locali del MICC in Viale Morgagni 65. Le modalità di superamento dell'esame sono riportate sotto.
Le date d'esame sono visibili sul sito ufficiale dell'Università http://sol.unifi.it/docprenot/docprenot:
- 2018: 18 Giugno, 4 Luglio, 19 Settembre, 17 Settembre: ore 15:00 presso i locali del MICC.
- 2017: date riprotate su sito di e-learning UniFi e servizio SOL.
- 2016: seconda metà di Giugno; prima metà di Luglio; ultima settimana di Agosto/prima settimana di Settembre.
Lucidi lezioni e materiale collegato
I collegamenti sono generalmente fatti a materiale scritto in inglese, a meno di diversa indicazione. I lucidi sono in formato PDF. I lucidi preceduti dalla scritta "OLD" sono quelli dell'A.A. precedente e devono ancora essere aggiornati - se ne sconsiglia la stampa. I programmi fatti durante le lezioni sono riportato nella pagina web: Registro lezioni 2017-2018 e sul sito di e-learning dell'Università.
Sito e-Learning Unifi con materiale del corso: http://e-l.unifi.it. Tutti gli studenti dell'A.A. 2017-2018 devono iscriversi.
Lucidi e materiale a.a. 2017 - 2018
- Compiling and using libraries:
- Unit testing:
Materiale aggiuntivo: Unit testing; cppcheck; Plugin CLion per cppcheck; Google Test - Versioning:
- Refactoring:
Lucidi e materiale anni precedenti:
- 2016-2017: 1-compiler_libraries_CLion; 2-testing techniques; 3-versioning; 4-refactoring
- 2015-2016: 1-compiler_libraries_CLion, 1-compiler_libraries_Eclipse; 2-testing techniques; 3-versioning
Modalità di svolgimento dell'esame
L'esame consiste in un elaborato di programmazione in C++ tra quelli presentati sul sito di e-Learning del corso oppure da concordare col docente. Durante lo sviluppo dell'elaborato verranno usati gli strumenti visti a lezione, come sistemi di versionamento del codice e unit testing. L'elaborato può essere combinato con quello da svolgere per il corso "Programmazione", previo accordo col docente.
Ambienti di sviluppo/compilatori consigliati
L'ambiente di sviluppo (IDE) consigliato รจ CLion.
Gli studenti sono comunque liberi di usare qualsiasi strumento gli risulti più comodo.
Clion è un ambiente i sviluppo integrato multipiattaforma con licenza gratuita per gli studenti. Durante il corso verrà usata questa IDE. I software sviluppati durante il corso DEVONO essere forniti come progetti CLion o Eclipse.
Eclipse CDT (richiede l'installazione di Eclipse e di un compilatore come G++ o clang++) - multipiattaforma.
Tutorial sulla configurazione di Eclipse+CDT su OSX, Linux e Windows (Video tutorial: installare Eclipse, MINGW e MSYS - per Windows). Eclipse ed i diagrammi UML: tutorial in inglese - tutorial in italiano.
Plugin utili per Eclipse: Linuxtools, cppcheclipse.
Tutorial sull'installazione di Eclipse/CDT e MSYS/MingW (Windows, mostra anche come installare WxWidgets). Wiki wxWidgets per l'uso di Eclipse + wxWidgets (EN); Tutorial sull'installazione di wxWidgets per Eclipse (Windows e Linux, EN); Tutorial sull'uso di wxWidgets (EN, molto semplice, adatto per principianti).
Da OSX Mavericks non è più disponibile il debugger GDB, che è usato da Eclipse. Si deve installare usando Macports o Homebrew. In alternativa si consiglia l'uso di XCode o CLion.
Altri ambienti di sviluppo che si possono usare sono:
- Codelite - multipiattaforma, support Clang++ e LLDB (ottimo per OSX), creazione visuale di interfacce grafiche con wxWidgets
- Code::Blocks (disponibile in distribuzione che contiene il compilatore) - multipiattaforma
Compilatori
Windows: GCC nella distribuzione MinGW
Linux: G++
OSX: In OSX si devono installare gli strumenti di programmazione a command line (necessari per usare CLion/Eclipse/Codelite/Code::Blocks), scaricando XCode da App Store e quindi dando il comando xcode-select --install in una finestra del terminale (tutorial).
Editor per diagrammi UML:
Libri di testo
E. Sink, "Versioning Control by Example", disponibile gratuitamente sul web: http://ericsink.com/vcbe/
Libri consigliati
Martin Fowler et al., "Refactoring: Improving the Design of Existing Code", Addison-Wesley
Kent Beck, "Test-Driven Development: By Example", Addison-Wesley