= Didattica dell'informatica = [[PageOutline]] Insegnamento del [http://www.ccdinfmi.unimi.it/it/corsiDiStudio/2015/F94of2/index.html Corso di laurea magistrale in Informatica] attivato nel secondo semestre dell'a.a. 2018/19 presso l'[http://www.unimi.it Università degli Studi di Milano] - [http://di.unimi.it Dipartimento di Informatica]. [http://www.ccdinfmi.unimi.it/it/corsiDiStudio/2015/F94of2/default/F94-124/F94-124.15.1/index.html Pagina Web Istituzionale dell'insegnamento] == Avvisi == * Esiti appello giugno 2019 ||'''Matricola'''||'''Progr'''||'''Costr'''||'''Comp'''||'''Note'''|| |||| '''Legenda''' || ||912576|| D|| C+|| B || || ||A ||molto buono|| ||893054|| F|| C+|| B+|| || ||B ||buono|| ||921559|||||| insuff || || ||C ||discr|| ||921101 || F|| B-|| C|| || ||D ||suff|| ||910663 || A|| D+|| B|| || ||F ||insuff|| ||920733 || D|| D--|| C|| || ||889105 |||||| insuff || ||905659|| D|| A-|| A|| || ||930620|| F|| D|| C|| * || ||939905|| F|| C|| C|| || ||939880|| D|| B-|| B|| || ||901009 || D--|| F|| B-|| * || ||920820|| F|| B+|| D|| * || ||938373|| D|| C|| B-|| || '''Nota''': Invitiamo tutti gli studenti (insuff inclusi) a venire a vedere la propria prova. \\ Gli studenti le cui prove sono contrassegnate con un asterisco sono invitati a considerare di rifare la prova scritta. \\ Venerdì 21/06 dalle h 10 (sala riunioni VI piano) visione compiti parti costruttivismo e competenze e orali costruttivismo. \\ Venerdì 21/06 dalle h 15:30 (sala riunioni V piano) orali per la parte di programmazione. \\ La data per gli orali per la parte di competenze saranno comunicate nei prossimi giorni. \\ * La prova scritta per l'appello di giugno avrà luogo lunedì 17/6 alle ore 14:00 nel laboratorio Laurea magistrale al quinto piano del Dipartimento di informatica. * Gli studenti interessati a seguire il corso sono invitati a compilare [https://docs.google.com/forms/d/e/1FAIpQLSeV_bIzmzktm_K0cUo1Xipyww1V7ziod76ie6T3RapmbOl0Vw/viewform questo modulo] * il corso è tra gli insegnamenti riconoscibili ai fini del Percorso FOR24, dettagli [http://www.unimi.it/studenti/94869.htm qui] * 27 febbraio 2019 - Inizio delle lezioni. Le lezioni saranno il mercoledì dalle ore 13:30 alle ore 17:30. Gli studenti interessati al corso sono pregati di intervenire, segnalando eventuali sovrapposizioni con le lezioni di altri insegnamenti. == Obiettivi del corso == Non basta conoscere l'informatica per essere dei buoni insegnanti di informatica! Il corso intende fornire agli insegnanti (o aspiranti tali) strumenti concreti, utili per l'insegnamento dell'informatica come disciplina scientifica. Anche per chi non intende svolgere la professione di insegnante, il corso può fornire un'occasione per approfondire la conoscenza della disciplina. Il corso si rivolge principalmente a studenti universitari già in possesso di una laurea triennale di area informatica, o comunque con una buona conoscenza della materia. E' benvenuta anche la partecipazione di insegnanti di scuole di ogni ordine e grado che, anche in mancanza di una formazione specifica in ambito informatico, potranno contribuire attivamente alle lezioni grazie alla loro esperienza sul campo. == Docenti == [http://lonati.di.unimi.it Violetta Lonati], [http://malchiodi.di.unimi.it/ Dario Malchiodi] e [http://morpurgo.di.unimi.it Anna Morpurgo] (responsabile). \\ I docenti sono membri di [https://aladdin.di.unimi.it/ ALaDDIn], LAboratorio di Divulgazione e Didattica dell'INformatica. == Orario e aule delle lezioni == Il corso è organizzato in 12 moduli laboratoriali, che si terranno il mercoledì dalle 13:30 alle 17.30 nell'aula Lab. Laurea Magistrale - Piano 5° (n. 5016), Via Celoria 18. == Per chi frequenta il corso senza essere iscritto al corso di laurea == La sola frequenza al corso è libera e gratuita; verrà rilasciato, su richiesta del frequentante che ne abbia fatto richieda all'inizio del corso, un attestato di partecipazione alle singole lezioni o all'intero corso. Chi fosse interessato all'acquisizione formale di crediti formativi (tramite il superamento di un esame di profitto) può fare richiesta di iscrizione al corso singolo; è previsto un [http://www.unimi.it/studenti/matricole/77567.htm contributo d'iscrizione a favore dell'Ateneo]. == Metodo di lavoro == Alcune lezioni del corso presenteranno attività e percorsi didattici basati sull'uso di metodologie attive di apprendimento, che mettano i discenti in condizione di esplorare in prima persona il tema in questione. Lavorando ad esempio suddivisi in piccoli gruppi, o partendo da materiali o contesti non convenzionali, i discenti potranno indagare il tema sotto diversi punti di vista, costruire modelli interpretativi, fare ipotesi che possano essere messe alla prova nel contesto guidato dell'attività proposta. In molte lezioni verrà adottato questo stesso metodo di insegnamento: gli studenti del corso saranno quindi chiamati a partecipare in maniera attiva alle attività proposte e alle discussioni che ne seguiranno. È pertanto caldamente consigliata la presenza! == Programma indicativo delle lezioni == Il corso si compone di 3 moduli che occupano alcune lezioni ciascuno: * Didattica della programmazione - docente Dario Malchiodi * Didattica dell'informatica con approccio costruttivista - docenti Violetta Lonati e Anna Morpurgo * Didattica per competenze in informatica - docenti Violetta Lonati e Anna Morpurgo Il seguente calendario è indicativo e può subire variazioni. || || '''data''' || '''tema della lezione''' || '''Docente''' || ||1 || Mercoledì 27 febbraio 2019 || Introduzione al corso - Costruttivismo 1 || Violetta Lonati - Dario Malchiodi - Anna Morpurgo || ||2 || Mercoledì 6 marzo 2019 || Costruttivismo 2 || Violetta Lonati - Anna Morpurgo || ||3 || Mercoledì 13 marzo 2019 || Costruttivismo 3 || Violetta Lonati - Anna Morpurgo || ||4 || Mercoledì 20 marzo 2019 || Costruttivismo 4 || Violetta Lonati - Anna Morpurgo || ||5 || Mercoledì 27 marzo 2019 || Competenze 1 || Violetta Lonati - Anna Morpurgo || ||6 || Mercoledì 3 aprile 2019 || Competenze 2 || Violetta Lonati - Anna Morpurgo || ||7 || Mercoledì 10 aprile 2019 || Programmazione 1 || Dario Malchiodi || ||8 || Mercoledì 17 aprile 2019 || Programmazione 2 || Dario Malchiodi || ||9 || Mercoledì 8 maggio 2019 || Programmazione 3 || Dario Malchiodi || ||10 || Mercoledì 15 maggio 2019 || Programmazione 4 || Dario Malchiodi || ||11 || Mercoledì 22 maggio 2019 || Competenze 3 || Violetta Lonati - Anna Morpurgo || ||12 || Mercoledì 29 maggio 2019 || Competenze 4 || Violetta Lonati - Anna Morpurgo || == Bibliografia == Un testo consigliato (in inglese) è:\\ '''[http://link.springer.com/book/10.1007%2F978-1-4471-6630-6 Guide to Teaching Computer Science. An Activity-Based Approach]''' [[BR]] di Orit Hazzan, Tami Lapidot, Noa Ragonis. Springer 2014. == Software == Durante il corso verranno presentati alcuni strumenti software creati a scopo didattico, dal laboratorio ALaDDIn o da altri autori. Questi strumenti sono raccolti in un [http://aladdinsrv.di.unimi.it/archive/museoscienza.iso CD Live] (556MB, SHA1: 5aedaf665944b0101f74531729dd13b6591e72b4) basato su una distribuzione [http://debian.org Debian] di [http://it.wikipedia.org/wiki/Linux GNU/Linux]. == Materiale didattico == {{{#!comment Il materiale didattico proposto durante il corso verrà via via reso disponibile in questa pagina o in una cartella dropbox riservata ai freq. Chi intende seguire il corso è invitato a compilare questo [https://docs.google.com/forms/d/e/1FAIpQLSch8-8iqTm5LhYpiU1-LWJGnMCkVVfUMxRQHPS8Nsk6v_Q0tg/viewform modulo] }}} * Mercoledì 10 aparile 2019 - Didattica della programmazione 1 * [https://docs.google.com/document/d/1llfTQIX9ie3dHINzePwozRyEcvkSANN34c6qNrczUek/edit?usp=sharing Definizioni di "automatico"] da clusterizzare. * Slide sulla scelta [http://malchiodi.di.unimi.it/teaching/didainfo/scelta-linguaggio.html del linguaggio di programmazione] e [http://malchiodi.di.unimi.it/teaching/didainfo/scelta-problema.html dei problemi da porre]. * [https://repl.it/languages/python3 Ambiente online per l'esecuzione di python]. * Mercoledì 17 aprile 2019 - Didattica della programmazione 2 * Laboratorio monete golose + un programma affollato di eventi: * [http://morpurgo.di.unimi.it/didattica/TFA_II/SchedaProgrammaEventi.pdf Scheda da compilare] * [https://aladdin.di.unimi.it/sw/scheduling/scheduling.html Software da utilizzare] * Micro-pattern e ruoli delle variabili: * [http://malchiodi.di.unimi.it/teaching/didainfo/micropattern/ Presentazione di ruoli e micro-pattern] * Approfondimenti: [http://www.cs.joensuu.fi/~saja/var_roles/role_list.html Roles of Data Entities], [http://www.cs.joensuu.fi/~saja/var_roles/stud_vers/stud_Python_eng.html Roles of variables] * Mercoledì 8 maggio 2019 - Didattica della programmazione 3 * Micro-pattern: * [http://malchiodi.di.unimi.it/teaching/didainfo/micropattern/ Presentazione di ruoli e micro-pattern] * Approfondimenti: [https://users.cs.duke.edu/~ola/patterns/plopd/loops.html Loop Patterns], [http://csis.pace.edu/~bergin/patterns/codingpatternsv4.html Coding at the Lowest Level] * Debugging * Mercoledì 15 maggio 2019 - Didattica della programmazione 4 * Concezioni degli studenti: Capitolo 6 della [http://www.uuhistle.org/publications/sirkia_masters_thesis.pdf tesi di Teemu Sirkia] * Linguaggi visuali: link a [https://scratch.mit.edu/ Scratch] (usando questi [http://aladdinsrv.di.unimi.it/archive/labirinti-scratch.zip labirinti]) e a [https://blockly-games.appspot.com/maze Blockly] per l'esercitazione. * Approcci costruttivisti alla programmazione {{{#!comment * Martedì 7 marzo 2017 - Didattica della programmazione 1 * l'ambiente di programmazione: [https://scratch.mit.edu/ Scratch] * i [http://aladdinsrv.di.unimi.it/archive/labirinti-scratch.zip labirinti] degli esercizi * un testo sull'uso di Scratch per insegnare a programmare (in inglese): Michal Armoni and Moti Ben-Ari, [https://stwww1.weizmann.ac.il/scratch/scratch_en/ Computer Science Concepts in Scratch] * [http://malchiodi.di.unimi.it/teaching/tfa/didattica-1-1 Slide sulla scelta del linguaggio di programmazione] * [http://malchiodi.di.unimi.it/teaching/tfa/didattica-1-1/twitter-api-python.ipynb Notebook usato durante la lezione] * [http://malchiodi.di.unimi.it/teaching/tfa/didattica-1-2/euler.zip Sorgenti python per l'Euler project] * Martedì 9 maggio 2017 - Didattica della programmazione 4 * Per il confronto tra linguaggi visuali: link a [https://scratch.mit.edu/ Scratch] (usando questi [http://aladdinsrv.di.unimi.it/archive/labirinti-scratch.zip labirinti]) e a [https://blockly-games.appspot.com/maze Blockly]. * Per l'introduzione della programmazione orientata agli oggetti: [http://malchiodi.di.unimi.it/teaching/tfa/didattica-1-2/ presentazione] sulla metodologia e su pygame, [http://malchiodi.di.unimi.it/teaching/tfa/didattica-1-2/pygame.zip Sorgenti] python. * Per le piattaforme di apprendimento basate su gamification: link a [https://www.codingame.com/ codingame]. * Quale informatica nella scuola? [http://aladdin.unimi.it/didainf/materiale/InformaticaQualeAScuola.pdf Qualche slide di premessa] * sul concetto di algoritmo: [http://aladdin.unimi.it/didainf/materiale/elenco_algoritmi_da_discutere.txt scheda] per il lavoro di gruppo }}} {{{#!comment * Mercoledì 9 marzo 2016 - Strutture dati: Clickomania (docente: Anna Morpurgo) * [http://click-aladdinunimi.rhcloud.com/apps/kangourou/ ambiente di programmazione] di Clickomania * [http://aladdin.unimi.it/didainf/materiale/TracciaClickomania.pdf Scaletta del laboratorio] * Mercoledì 16 marzo 2016 - La didattica per competenze (Seminario del Dott. Giaffredo) * [http://aladdin.unimi.it/didainf/materiale/competenze-e-informatica-nelle-scuole.pdf Presentazione] * Testi della prova di maturità a.s. [http://aladdin.unimi.it/didainf/materiale/testo-maturita-2013-14-IT.pdf 2013-14] e [http://aladdin.unimi.it/didainf/materiale/testo-maturita-2014-15-IT.pdf 2014-15] usati durante l'esercitazione * [http://aladdin.unimi.it/didainf/materiale/direttive-ministeriali-2012-IT.zip Linee guida 2012 per gli istituti tecnici] * Mercoledì 23 marzo 2016 - Progettare percorsi/lezioni/attività didattiche (docenti: Dario Malchiodi e Anna Morpurgo) * [http://aladdin.unimi.it/didainf/materiale/appunti-progettazione-didattica.pdf Appunti sulla progettazione di attività] * Mercoledì 6 aprile 2016 - La rappresentazione dell'informazione: i testi formattati (docente: Anna Morpurgo) * [http://aladdin.unimi.it/digitiscol/wikipasta/ strumento software] * Mercoledì 13 aprile 2016 - Divertirsi con l'informatica - le gare (docente: Anna Morpurgo) * [http://morpurgo.di.unimi.it/didattica/TFA_II/programmazione esempi di quesiti kangourou sulla programmazione] * [http://morpurgo.di.unimi.it/didattica/TFA_II/grafi esempi di quesiti kangourou sui grafi] * [http://bebras.it/students La piattaforma di gara del Bebras dell'Informatica] * [http://morpurgo.di.unimi.it/didattica/TFA_II/MissioneSegreta.pdf La pipeline: Missione segreta] presentazione del software e esercizi proposti alla finale del Kangourou dell'Informatica 2015. * [https://pipe-aladdinunimi.rhcloud.com/apps/pipe/ ambiente di programmazione] (basato su Blockly) * Mercoledì 20 aprile 2016 - Didattica della programmazione * [http://malchiodi.di.unimi.it/teaching/tfa/didattica-1-1 Slide presentate durante la lezione (prima parte)] * [http://malchiodi.di.unimi.it/teaching/tfa/didattica-1-2 Slide presentate durante la lezione (seconda parte)] * [http://malchiodi.di.unimi.it/teaching/tfa/didattica-1-1/twitter-api-python.ipynb Notebook usato durante la lezione] * [http://malchiodi.di.unimi.it/teaching/tfa/didattica-1-2/euler.zip Sorgenti python per l'Euler project] * [http://malchiodi.di.unimi.it/teaching/tfa/didattica-1-2/pygame.zip Sorgenti python per pygame] * Mercoledì 27 aprile 2016 - Crittografia (docente: Dario Malchiodi) * [http://malchiodi.di.unimi.it/teaching/tfa/didattica-1-3 Slide presentate durante la lezione] * [http://malchiodi.di.unimi.it/crittografia Esercizi di crittanalisi svolti durante la lezione] * Mercoledì 4 maggio 2016 - Welcome to Nimrod: spunti didattici attorno a un episodio della storia dell'informatica del 1951 (Seminario del Dott. Claudio Mirolo) * [http://nid.dimi.uniud.it//pages/materials/projects/pls/welcome_to_nimrod/welcome_to_nimrod/start.html Slide della presentazione] * [http://nid.dimi.uniud.it//pages/materials/tfa/samples/nimrod_stuff.zip materiale associato] * [http://nid.dimi.uniud.it//pages/materials/tfa/index.html altro materiale] * Nota: In alcune schede della presentazione sono contenute delle applet Java, che attualmente non vengono visualizzate a meno di indebolire i vincoli di sicurezza. Gli stessi programmi sono inclusi anche nel materiale didattico come applicazioncine a se stanti che si avviano facendo un doppio click nei file “.jar”, operazione che di solito comportano solo la richiesta di un consenso al primo utilizzo. * Mercoledì 18 maggio 2016 - Algoritmi greedy: Monete golose e Un programma affollato di eventi (docente: Anna Morpurgo) * Presentazione del laboratorio su rappresentazione delle immagini: Human pixel * Human Pixel: Video degli [https://www.youtube.com/watch?v=7Jgkm2pdWgY Human LCD coreani] (link a !YouTube) * il software usato a lezione è incluso nel CD live citato nella sezione "Software" * [http://lonati.di.unimi.it/TFA1415/grigliata.pdf esempio di scheda con esercizi] * [http://lonati.di.unimi.it/TFA1415/humanPixel-lavoriDiGuppo-TFA2015.txt appunti] su quanto proposto dai lavori di gruppo * [http://morpurgo.di.unimi.it/didattica/TFA_II/scheduling.html strumento software per il lab sullo scheduling] * Mercoledì 8 giugno 2015 - La progettazione di attività didattiche. La macchina di Turing (docente: Dario Malchiodi) * [http://lonati.di.unimi.it/TFA1415/analisiPercorsiDidattici.pdf analisi] dei percorsi didattici proposti durante il corso * [http://malchiodi.di.unimi.it/teaching/tfa/didattica-1-4/lezione-turing.pdf Testo del laboratorio] * [http://malchiodi.di.unimi.it/turing Simulatore di macchine di Turing] }}} Materiale anni accademici precedenti: * [wiki:2017-18 2017-18] * [wiki:2016-17 2016-17] * [wiki:2015-16 2015-16] * [wiki:2014-15 2014-15]