Risorse tecniche

Un punto di partenza…

Il sito Programma il Futuro pro­po­ne una serie di atti­vi­tà di coding che pos­so­no esse­re svi­lup­pa­te a par­ti­re dal­la scuo­la pri­ma­ria, fin dal­la pri­ma ele­men­ta­re. Il sito è un’iniziativa del MIUR e tra­du­ce atti­vi­tà svi­lup­pa­te dal sito inter­na­zio­na­le code.org.

  • Modalità base (ora del codi­ce)
    Una pic­co­la serie di lezio­ni, del­le dura­ta di cir­ca un’ora, da svol­ge­re in con­co­mi­tan­za con ini­zia­ti­ve come l’Ora del codi­ce. Sono lega­ti a per­so­nag­gi di car­to­ni e film fami­lia­ri ai ragaz­zi, qua­li Oceania, Guerre Stellari, Frozen, Minecraft, etc.
  • Modalità avan­za­ta
    Le atti­vi­tà avan­za­te, svi­lup­pa­te su quat­tro livel­li, per­met­to­no di appro­fon­di­re i con­cet­ti fon­da­men­ta­li del coding, qua­li sequen­ze, cicli, cicli anni­da­ti, istru­zio­ni con­di­zio­na­li, varia­bi­li, fun­zio­ni
  • CodeMOOC
    CodeMOOC è un cor­so onli­ne svi­lup­pa­to da Alessandro Bogliolo dell’Università di Urbino che si occu­pa di for­ni­re una gui­da alle atti­vi­tà pro­po­ste dal sito Programma il Futuro. La fre­quen­za e il supe­ra­men­to del­le atti­vi­tà onli­ne dan­no ori­gi­ne al con­se­gui­men­to di un cer­ti­fi­ca­to, vali­do per l’aggiornamento degli inse­gnan­ti.

Consigliamo que­ste atti­vi­tà agli inse­gnan­ti che han­no timo­re di con­fron­tar­si con l’argomento del coding, non sen­ten­do­si abba­stan­za pre­pa­ra­ti.

…un passo indietro

Prima anco­ra di uti­liz­za­re di ini­zia­re ad uti­liz­za­re il com­pu­ter, potreb­be esse­re uti­le fare un pas­so indie­tro, e pro­por­re alcu­ne di que­ste atti­vi­tà in manie­ra “unplug­ged”, ovve­ro “stac­can­do la spi­na”.  Questo può esse­re uti­le qua­lo­ra la scuo­la non sia attrez­za­ta

  • Computer Science Unplugged”, tra­dot­to in ita­lia­no “L’informatica sen­za com­pu­ter
    Il pri­mo ad uti­liz­za­re il ter­mi­ne “unplug­ged” è sta­to il volu­me “Computer Science Unplugged”. Il testo, un pdf di 290 pagi­ne, è una col­le­zio­ne di sem­pli­ci atti­vi­tà il cui sco­po è far capi­re i con­cet­ti chia­ve dell’informatica, come i nume­ri bina­ri, la rap­pre­sen­ta­zio­ne del­le imma­gi­ni,  gli algo­rit­mi e tan­ti altri argo­men­ti.
  • CodyRoby” (link alle car­te)
    Una del­le atti­vi­tà pro­po­ste in CS Unplugged è quel­la rela­ti­va alla pro­gram­ma­zio­ne, rea­liz­za­ta come un insie­me di coman­di che deve esse­re por­ta­to a ter­mi­ne da un ese­cu­to­re — poten­zial­men­te, anche un bam­bi­no. L’attività è sta­ta ripre­sa da Alessandro Bogliolo all’interno del­la Codeweek; il prof. Bogliolo ha pro­po­sto un gio­co basa­to su car­te che coin­vol­ge due “robot”: Cody e Roby. Le car­te pos­so­no esse­re stam­pa­te e rita­glia­te.

Un balzo in avanti!

Lo stru­men­to per eccel­len­za che per­met­te di costrui­re atti­vi­tà di pen­sie­ro com­pu­ta­zio­na­le è Scratch. Questo soft­ware, svi­lup­pa­to al MIT, con­sen­te la rea­liz­za­zio­ne di ani­ma­zio­ni, di quiz, di musi­ca e arte inte­rat­ti­va, pre­sen­ta­zio­ni e video­gio­chi, for­nen­do un ambien­te di pro­gram­ma­zio­ne visua­le svi­lup­pa­to appo­si­ta­men­te per la fascia di età che va dal­la 2a ele­men­ta­re al pri­mo bien­nio del­le supe­rio­ri. Di segui­to, alcu­ni pun­ta­to­ri:

  • Collegandosi al sito di Scratch, è pos­si­bi­le uti­liz­za­re la ver­sio­ne onli­ne, che vive all’interno del bro­w­ser e non richie­de alcu­na instal­la­zio­ne.
  • Altrimenti, se la scuo­la non è dota­ta di una buo­na con­nes­sio­ne Internet, è pos­si­bi­le instal­la­re Scratch sui PC, sca­ri­can­do il soft­ware in ver­sio­ne Windows, Mac o Linux.
  • Un buon pun­to di par­ten­za per com­pren­de­re il fun­zio­na­men­to di que­sto soft­ware è il testo “Esercitazioni Scratch” edi­to dall’Università di Salerno.
  • Esistono un gran nume­ro di risor­se, pro­get­ti, idee che si pos­so­no tro­va­re onli­ne. Una rac­col­ta di que­ste risor­se si tro­va nel­la pagi­na “Risorse Scratch” del sito del Coderdojo Verona.

Da Scratch alle App

E’ pos­si­bi­le esten­de­re gli oriz­zon­ti dei ragaz­zi di età più gran­de con la pro­gram­ma­zio­ne di app, sen­za rinun­cia­re all’approccio visua­le e sen­za richie­de­re l’enorme com­ples­si­tà che è richie­sta dal­la pro­gram­ma­zio­ne via app tra­mi­te Java.

  • MitAppInventor 2 per­met­te di svi­lup­pa­re App mol­to sofi­sti­ca­te; è pos­si­bi­le uti­liz­za­re tut­ti i sen­so­ri del tele­fo­no, è pos­si­bi­le uti­liz­za­re ser­vi­zi ester­ni qua­li Google Maps, è pos­si­bi­le col­le­gar­si a data­ba­se ester­ni. Esistono diver­si tuto­rial che pos­so­no esse­re uti­liz­za­ti per comin­cia­re, alcu­ni dei qua­li sono rias­sun­ti qui.

Dai blocchi al codice

Una vol­ta appre­so i con­cet­ti com­pu­ta­zio­na­li tra­mi­te la pro­gram­ma­zio­ne visua­le, è pos­si­bi­le fare un ulte­rio­re bal­zo in avan­ti e scri­ve­re vero e pro­prio codi­ce. Il van­tag­gio è che si può diven­ta­re mol­to più pro­dut­ti­vi, al costo di dover fare atten­zio­ne alla sin­tas­si.

Queste sono alcu­ne stru­men­ti che pos­so­no esse­re uti­liz­za­ti per impa­ra­re lin­guag­gi qua­li Javascript e Python:

  • S2J (Scratch to Javascript) è un insie­me di lezio­ni che per­met­to­no di impa­ra­re Javascript par­ten­do dai con­cet­ti che si sono impa­ra­ti uti­liz­zan­do Scratch.
  • How to think as a com­pu­ter scien­ti­st è un libro inte­rat­ti­vo che spie­ga la pro­gram­ma­zio­ne uti­liz­zan­do Python; la cosa inte­res­san­te è che il libro è pie­no di eser­ci­zi che ven­go­no svol­ti diret­ta­men­te den­tro la pagi­na web.
  • Hour of Pyhton è basa­to sul­la tec­no­lo­gia Trinket, e con­tie­ne una serie di lezio­ni su Python.
  • CodeCombat spie­ga la pro­gram­ma­zio­ne attra­ver­so il gio­co. All’inizio, biso­gna risol­ve­re sfi­de simi­li a quel­le di Code.org; ma a dif­fe­ren­za di Code.org, si può sce­glie­re fra Phyton, Javascript e Lua. Con il pro­gre­di­re del gio­co, le sfi­de diven­ta­no più dif­fi­ci­li e somi­glia­no a vere e pro­prie bat­ta­glie; ad un cer­to pun­to, biso­gna com­bat­te­re con­tro altri gio­ca­to­ri onli­ne. E’ pos­si­bi­le sce­glie­re la lin­gua ita­lia­na, ma il nume­ro di livel­li “free” è limi­ta­to, poi biso­gna iscri­ver­si.
  • CodingGame è basa­to su con­cet­ti simi­li a CodeCombat, ma il nume­ro di lin­guag­gi sup­por­ta­ti si allar­ga enor­me­men­te: 26, fra cui Python,  C#, C++, C, Java, Python, Javascript, e tan­ti altri.