====== Informatica (CdL in Fisica) Anno 2014-2015 ====== ===== Informazioni Generali ===== Docenti: [[http://www.di.unipi.it/~gori/|Roberta Gori]] ^ Corso ^ Giorno ^ Ora ^ Aula ^ | Lezione | Martedì | 14-15 | F1 | | Lezione | Mercoledì | 9-11 | D1 | | Esercitazione | Mercoledì| 14-17 | H | | Ricevimento docenti | Martedì |15,00-16,00 | studio | Ricevimento docenti: Martedì 15,00-16,00 prenotandosi via email . * Ricevimento elettronico: contattate il docente per posta elettronica **inviando il file del programma ed indicazioni chiare sull'errore e su come compilare ed eseguire per riprodurre l'errore stesso**. * La frequenza del corso **non e' obbligatoria** ma fortemente consigliata. Materiale didattico e Informazioni [[fisica:inf:201314|AA 2013/14]]. ===== Avvisi ===== ===== [18/12/2015] Scadenze per la consegna dei progetti e per l'iscrizione agli esami di Gennaio e Febbraio ===== La scadenza per l'iscrizione (obbligatoria) e per la consegna del progetto di recupero per partecipare all'esame del 10 febbraio 2016 e' fissata per il 27 gennaio 2016. ===== [5/2/2016] Valutazione dei progetti consegnati ===== 483226 24-27 490022 24-27 502934 26 508312 27 =====I vostri commenti e suggerimenti sul corso===== Potete lasciare commenti e suggerimenti per questo corso in modo totalmente anonimo rispondendo a questo form [[https://docs.google.com/forms/d/1R3J-IVWQHN7wKHls-B2ZqLpszjPZFM5vYAFo_w8ICjI/viewform?c=0&w=1|Accesso al modulo]] IMPORTANTE: * Sotto Windows * installare cgwyn (vedi istruzioni in http://www.diegm.uniud.it/schaerf/Fondamenti/gnucpp.php) * Sotto MAC * installare prima XCODE e poi gcc come spiegato in [[http://blog.keliweb.it/2013/09/installare-il-compilatore-gcc-xcode-mac-os-x/|questa pagina]] ===== Esame ===== Trovate [[fisica:informatica:201415:esame| qua ]] le regole d'esame. Questa invece e' la pagina degli [[fisica:informatica:201415:assegnamenti| assegnamenti ]]. Chi intende sostenere l'appello di luglio deve **iscriversi e consegnare tutti e 3 gli assegnamenti entro il 30 giugno**. La lista di coloro che hanno consegnato assegnamenti sufficienti e pertanto sono ammessi a sostenere la prova verra' pubblicata su questo sito entro il 13 giugno. I candidati dovranno presentarsi alla data indicata dall'appello (puntuali) per sostenere una breve prova scritta. Successivamente verra' proposto un orario per sostenere la prova orale nella stessa giornata o in quelle successive. ===== Materiale Didattico ===== Le slide delle lezioni e gli esercizi di laboratorio (con alcune possibili soluzioni) verranno aggiunti in concomitanza con ciascuna lezione. ==== Lezioni ==== ^ Num ^ Data ^ Ora ^ Materiale ^ Argomenti ^ |1| Mar 17-02-2015 | 14-16 AULA C1 | {{:fisica:inf:lezione1-2015.pdf|}} | Introduzione alla programmazione, architettura di un calcolatore| |2| Mer 18-02-2015 | 9-11 AULA D1 |{{:fisica:inf:lezione2-2015.pdf|}} | Primi programmi C| |3| Gio 19-02-2015 | 14-15 AULA A1 |{{:fisica:inf:lezione3-2015.pdf|}} | Istruzioni Condizionali | |4| Mar 24-02-2015 | 14-15 AULA F1 |{{:fisica:inf:lezione4-5-2015.pdf|}} | Iterazione e cicli| |5| Mer 25-02-2015 | 9-11 AULA D1 | ::: | Ancora su Iterazione e cicli, define | |6| Mer 4-03-2015| 9-11 AULA D1 |{{:fisica:inf:lezione6-2015.pdf|}} | Rapresentazione binaria | |7| Mar 10-03-2015 | 14-15 AULA F1 |{{:fisica:inf:lezione7-2015.pdf|}} | Tipi di Dato | |8| Mer 11-03-2015 | 9-11 AULA D1 |{{:fisica:inf:opertatoribitabit.pdf|}} {{:fisica:inf:lezione8-2015.pdf|}}| Operatori bit a bit, funzioni | |9| Mar 17-03-2015 | 14-15 AULA F1 | ::: | Variabili locali e globali, regole di visibilita' | |10| Mer 18-03-2015 | 9-11 AULA D1 |{{:fisica:inf:stringhe.pdf|}}{{:fisica:inf:lezione9-2015.pdf|}} |Array e puntatori| |11| Mar 24-03-2015 | 14-15 AULA F1 | ::: |Aritmetica dei puntatori| |12| Mer 25-03-2015 | 9-11 AULA D1 |{{:fisica:inf:lezione10-2015.pdf|}} | Passaggio dei parametri per riferimento. Ricorsione. | |13| Mar 14-04-2015 | 14-15 AULA F1 |{{:fisica:inf:lezione11-2015.pdf|}} | Algoritmi di ordinamento. Ricerca Binaria | |14| Mer 15-04-2015 | 9-11 AULA D1 | {{:fisica:inf:lezstdio2015.pdf|}} {{:fisica:inf:lezstring_h.pdf|}} | Libreria Stdio.h e String.h | |15| Mar 21-04-2015 | 14-15 AULA F1 | {{:fisica:inf:lezione12-2015.pdf|}}| Tipi definiti dall'utente. Strutture. | |16| Mer 22-04-2015 | 9-11 AULA D1 | {{:fisica:inf:errori.pdf|}} | Seminario "Introduzione ai calcoli numerici" tenuto dal Prof. Romani | |17| Mar 28-04-2015 | 14-15 AULA F1 |{{:fisica:inf:009-allocazionedinamicacompl.odp|}} | Allocazione dinamica della memoria | |18| Mer 22-04-2015 | 9-11 AULA D1 |{{:fisica:inf:lezione13-2014.pdf|}} |Liste | |19| Mer 05-05-2015 | 14-15 AULA F1 | {{:fisica:inf:lezioneliste.pdf|}}|Operazioni sulle liste | |20| Mer 06-05-2015 | 9-11 AULA D1 | ::: |Operazioni sulle liste | |21| Mar 12-05-2015 | 14-15 AULA F1 | {{:fisica:inf:011-alberi-2015.odp|}} | Alberi| |22| Mer 13-05-2015 | 9-11 AULA D1 | {{:fisica:inf:matrici.odp|}}|Rappresentazione di matrici | |23| Mer 20-05-2015 | 9-11 AULA D1 |{{:fisica:inf:slide_seminario.pdf|}} |Seminario La matematica negli algoritmi Prof. Luccio| |24| Mer 27-05-2015 | 9-11 AULA D1 |{{:fisica:informatica:201415:esercitazioni:lez013-compilazioneseparata.pdf|Lucidi compilazione separata}}\\ {{:fisica:informatica:201415:esercitazioni:lez012-makefile.pdf|Lucidi Makefile}} | **Lezione**: compilazione separata e makefile | {{:fisica:informatica:201415:esercitazioni:c006prepcomplinkong.pdf|Preprocessing Compilazione Linking}}\\ Lettura consigliata: Malvaldi, Leporini. [[ http://www.laterza.it/index.php?option=com_laterza&Itemid=97&task=schedalibro&isbn=9788858111925 | Capra e Calcoli]]: L'eterna lotta tra gli algoritmi e il caos. Ed. Laterza ISBN: 9788858111925 | ==== Laboratorio ==== ^ Data ^ Materiale ed Esercizi ^ Soluzioni Proposte ^ | 18-2-2015 | Lezione non tenuta a causa del mancato funzionamento dei laboratori| | 20-02-2015|[[http://www.di.unipi.it/~rama/didattica/FisInf1112/GuidaCdC/Guida%20all%27uso%20del%20CdC.html|Guida all'uso del CdC]]{{:fisica:inf:2012-consiglilinux.pdf|Consigli utili per Linux}} [[http://www.di.unipi.it/~gori/IntroUNIX2015/main2015.html|Introduzione a Unix]]{{:fisica:inf:2014-lab01-esercizi.pdf|}} | | | 25-02-2015|{{:fisica:inf:laboratorio2-2015.pdf|}} | | |4-03-2015| {{:fisica:inf:laboratorio3-2015.pdf|}} |[[http://www.di.unipi.it/~rama/didattica/FisInf1112/3/17-TriangoloAsterischi.c|Es 7 - Triangolo Asterischi]] [[http://www.di.unipi.it/~rama/didattica/FisInf1112/3/19-TriangoloNumeri.c|Es 9 - Triangolo Numeri]] | |11-03-2015|{{:fisica:inf:2012-numeripseudocasuali.pdf|Approfondimento: numeri pseudocasuali}} {{:fisica:inf:laboratorio4-2015.pdf|}} {{:fisica:inf:eserciziomatematica1.pdf|}} |[[http://www.di.unipi.it/~rama/didattica/FisInf1112/1/es3-tipo_elementare.c|Es 1 - Tipo Elementare]] [[http://www.di.unipi.it/~rama/didattica/FisInf1112/2/es11-morra.c|Es 6 - Morra]] [[http://www.di.unipi.it/~rama/didattica/FisInf1112/3/08-MediaPesataProxEsame.c|Es 8 - Media Pesata Prox Esame]] [[http://www.di.unipi.it/~rama/didattica/FisInf1112/3/10-Alfabeto.c|Es 9 - Alfabeto]] | |18-03-2015| {{:fisica:inf:compilazione_separata.pdf| Approfondimento Compilazione Separata}} {{:fisica:inf:laboratorio-4-2015.pdf|}} | | |25-03-2015| {{:fisica:inf:laboratorio6-2015.pdf|}} {{:fisica:inf:eserciziomatematico3.pdf|}} | | |15-04-2015| {{:fisica:inf:laboratorio7-2015.pdf|}} |[[http://www.di.unipi.it/~rama/didattica/FisInf1112/6/04-StampaInversoRic1.c|Es 04 - Stampa Inversa Ricorsiva 1]] | | ::: | ::: |[[http://www.di.unipi.it/~rama/didattica/FisInf1112/6/05-StampaInversoRic2.c|Es 05 - Stampa Inversa Ricorsiva 2]] | | ::: | ::: | [[http://www.di.unipi.it/~rama/didattica/FisInf1112/6/09-AzzeraRaddoppiaTrovaMinimo.c|Es 09 - Azzera Raddoppia Trova Minimo]] | | ::: | ::: | [[http://www.di.unipi.it/~rama/didattica/FisInf1112/6/14-StampaSuDueRighe.c|Es 14 - Stampa Su Due Righe]] | | ::: | ::: | [[http://www.di.unipi.it/~rama/didattica/FisInf1112/6/15-Fibonacci.c|Es 15 - Fibonacci]] | | ::: | ::: | [[http://www.di.unipi.it/~rama/didattica/FisInf1112/6/16-Permuta.c|Es 16 - Permuta]] | |22-04-2015| {{:fisica:inf:laboratorio8.pdf|}} | | |29-04-2015|{{:fisica:inf:laboratorio9-2015.pdf|}}| | |06-05-2015|{{:fisica:inf:laboratorio10-11-2015.pdf|}} | | |12-05-2015|::: | :::| |20-05-2015|{{:fisica:inf:alberi.pdf|}} | :::| |27-05-2015|[[http://didawiki.di.unipi.it/doku.php/fisica/informatica/201415/esercitazioni/esercitazione11|Esercitazione]]| ==== Strumenti per la programmazione ==== Un editore testuale (tipo ''Emacs''), e il compilatore ''gcc'', sono sufficienti per apprendere e testare le varie nozioni algoritmiche e di //coding// che verranno discusse in Laboratorio. Per chi si trova a operare sotto Windows suggeriamo il compilatore disponibile con Cygwin, che fornisce un ambiente Unix-like a sola linea di comando. Per tutti coloro che hanno un portatile l'idea e' di installare i seguenti ambienti * Sotto Windows * installare cgwyn (vedi istruzioni in http://www.diegm.uniud.it/schaerf/Fondamenti/gnucpp.php) * Sotto MAC * installare prima XCODE e poi gcc come spiegato in [[http://blog.keliweb.it/2013/09/installare-il-compilatore-gcc-xcode-mac-os-x/|questa pagina]] ==== Riferimenti Utili ==== The hour of Code[[http://csedweek.org/]] [[http://www.di.unipi.it/~rama/didattica/FisInf1112/GuidaCdC/Guida%20all%27uso%20del%20CdC.html|Guida all'uso del CdC senza le macchine del CdC! (O anche "Da casa o col portatile")]] {{:fisica:inf:cdc_linux_reference_card.pdf|Guida sintetica ai comandi Linux per le macchine del CdC - Versione 1.2 }} {{:fisica:inf:gnu_emacs_reference_card.pdf|GNU Emacs Reference Card (Inglese)}} {{:fisica:inf:c_reference_card_ansi_2.2.pdf|C Reference Card (Inglese)}} {{:fisica:inf:gdb_quick_reference.pdf|GDB Reference Card (Inglese)}} ===== Libro di testo ===== Kelley, Pohl. **C: Didattica e Programmazione** (seconda edizione), Addison-Wesley, 2004. ==== Altro materiale ==== * (introduttivo sulla programmazione)S. Ceri, D. Mandrioli, L. Sbattella. **Informatica: programmazione** (seconda edizione). McGraw-Hill 2006. * (approfondimenti su algoritmi e strutture dati) P. Crescenzi, G.Gambosi, R. Grossi, G. Rossi. **Strutture di dati e algoritmi. Progettazione, analisi e programmazione** (Seconda edizione). Pearson 2012. * Manuali in linea dei tool di sviluppo GNU [[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]] * {{:lcs:lcs09:gdb-commands.pdf|Sommario GDB commands}} * [[lcs:lcs07:emacs_commands|Un sommario di comandi di emacs]] * [[lcs:lcs07:bash_commands|Un sommario basico di comandi bash]] * {{:lcs:lcs07:bashquickreference.pdf|Un sommario completo di comandi bash}} * [[http://www.digilife.be/quickreferences/quickrefs.htm|Un sito di 'sommari' (quick references)]] su tutto! * Manuali in linea delle funzioni di libreria standard: //man nomefunzione man -k argomento// * Altre informazioni in linea (bash, make tec.) //ESC-X info// da emacs.