= 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. 2019/20 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 == * Anche la lezione di martedì 17 marzo si svolgerà in videoconferenza. Il link per collegarsi sarà pubblicato qui poco prima dell'inizio della lezione. * L'appuntamento per gli studenti dell'Università degli Studi di Milano alle 14:30 di martedì 10 marzo su meet.jit, usando "didainfo-unimi" come nome meeting. {{{#!comment * Gli **insegnanti** interessati a seguire il corso a distanza sono invitati a compilare [https://docs.google.com/forms/d/e/1FAIpQLSdTkApsIPfYKGZPuWEcTOsi2HMWbVKPHBJkF-cbBeOYQOjEWw/viewform questo modulo]. In base alle risposte fornite invieremo informazioni su quali parti del corso è possibile seguire, nonché le istruzioni su come partecipare. }}} * Le lezioni a distanza del corso di "Didattica dell'informatica" avranno inizio martedì 10 marzo alle ore 14:30. {{{#!comment * Gli studenti dell'Università degli Studi di Milano interessati a seguire questo corso sono invitati a compilare [https://docs.google.com/forms/d/e/1FAIpQLSeOWJzpWu7W9Y4tDdp6AF_Oze47iR_si_CYnjgAdFW2CST6kQ/viewform questo modulo] per permetterci di organizzare l'avvio della didattica in modalità on-line in attesa della ripresa delle regolari attività didattiche in presenza. * Le attività didattiche sono sospese fino al 12/3/2020. Gli studenti interessati a questo insegnamento sono invitati a controllare periodicamente questa pagina per avere informazioni sulla data effettiva di inizio delle lezioni e su eventuali attività di formazione online o a distanza che dovessero essere intraprese durante la sospensione. }}} * Il corso per l'anno accademico 2019/20 si svolgerà il martedì dalle ore 14.30 alle ore 18.30, a partire da martedì 3 marzo 2020. {{{#!comment * La prova per l'appello di settembre avrà luogo mercoledì 18/9 alle ore 11:00 nel laboratorio Laurea magistrale al quinto piano del Dipartimento di informatica. * 9 luglio 2019 - ATTENZIONE: la visione dei compiti e gli orali si svolgono al V piano, aula magistrale, invece che al VI piano come precedentemente annunciato! * Esiti appello luglio 2019 ||'''Matricola'''||'''Progr'''||'''Costr'''||'''Comp'''|| || || '''Legenda''' || '''Nota''': Invitiamo tutti gli studenti (insuff inclusi) a venire a vedere la propria prova. \\ Martedì 9/7 dalle h 10 (laboratorio magistrale V piano) visione compiti e orali. \\ * 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. }}} == Strumenti per la partecipazione a distanza == Tenuto conto dell'attuale situazione, la didattica avverrà a distanza utilizzando alcuni strumenti telematici. * Utilizzeremo [https://zoom.us zoom] per fare lezione in videoconferenza; per utilizzare questo strumento non è necessario registrarsi; si può accedere dal computer via browser senza installare software specifico, oppure si può accedere tramite una app. Il link per collegarsi sarà pubblicato qui poco prima dell'inizio della lezione. [qui] trovate anche delle brevi istruzioni sull'utilizzo di zoom. * In caso di difficoltà tecniche useremo [https://meet.jit.si meet.jit] utilizzando "didainfo-unimi" come nome del meeting; per utilizzare questo strumento non è necessario registrarsi o installare software, basta avere a disposizione un browser Web recente; * Abbiamo creato un workspace [https://slack.com Slack] che useremo per dare comunicazioni urgenti e veloci, nonché per consentire l'interazione in piccoli gruppi per lo svolgimento dei compiti che assegneremo durante le lezioni. Valuteremo chi e come coinvolgere in queste attività sulla base dei vincoli tecnici e in funzione del background e dell'interesse dei partecipanti. L'adesione a Slack non è necessaria per seguire le lezioni, ma lo sarà per partecipare alle attività più interattive. Questo il [https://join.slack.com/t/didainfo-unimi/shared_invite/zt-cn8c1snp-r0_~G~vSUM_rv_3AxC19yA link per iscriversi] * (**solo per gli studenti**) useremo [https://web.telegram.org telegram] per le comunicazioni urgenti e per condividere materiale, per cui chiediamo a tutti gli studenti che già non l'avessero fatto tramite il modulo indicato al punto precedente di comunicarci il loro account via mail all'indirizzo malchiodi at di.unimi.it, attivandone uno nel caso ne fossero sprovvisti (l'attivazione non richiede di fornire dati sensibili e le comunicazioni fatte con questo strumento avvengono su un canale crittografato); Ricordiamo a tutti che stiamo sperimentando queste tecnologie e quindi chiediamo di avere pazienza e non demordere nel caso ci fossero dei problemi di connessione. == 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] (responsabile), [http://malchiodi.di.unimi.it/ Dario Malchiodi] e [http://morpurgo.di.unimi.it Anna Morpurgo]. \\ 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 martedì dalle 14:30 alle 18.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 {{{#!comment 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 == Il materiale didattico proposto durante il corso verrà via via reso disponibile in [MaterialeDidattico questa pagina]. {{{#!comment 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:2018-19 2018-19] * [wiki:2017-18 2017-18] * [wiki:2016-17 2016-17] * [wiki:2015-16 2015-16] * [wiki:2014-15 2014-15]