Misconceptions

Lezione 1

La let­tu­ra asse­gna­ta per que­sta lezio­ne è un sur­vey sul con­cet­to di miscon­cep­tion (“idea sba­glia­ta”) negli stu­den­ti. A vol­te le miscon­cep­tion ven­go­no eti­chet­ta­te come “alter­na­ti­ve con­cep­tion”, per evi­ta­re di evi­den­zia­re con­no­ta­ti nega­ti­vi. Personalmente, il ter­mi­ne miscon­cep­tion non mi dispia­ce; una vol­ta iden­ti­fi­ca­te nei ragaz­zi, pos­so­no diven­ta­re un’oc­ca­sio­ne di apprendimento.

Nell’articolo tro­va­te cita­ta la distin­zio­ne fra syn­tac­tic, con­cep­tual e stra­te­gic kno­w­led­ge che ho accen­na­to nel­la lezio­ne pre­ce­den­te (Sezione 2), e uti­liz­za que­sta distin­zio­ne per clas­si­fi­ca­re le miscon­cep­tion prin­ci­pa­li (Sezione 3). Continua discu­ten­do i fat­to­ri prin­ci­pa­li che pos­so­no por­ta­re a miscon­cep­tion (Sezione 4) e le pos­si­bi­li stra­te­gie di inter­ven­to (Sezione 5). Queste sono le sezio­ni prin­ci­pa­li su cui concentrarsi.

Oltre alla soli­ta valu­ta­zio­ne per­so­na­le del testo in gene­ra­le, vi pro­pon­go que­sta attività.

1) Gestione del­le miscon­cep­tion

Un par­ti­co­la­re pun­to di atten­zio­ne che vor­rei por­ta­re alla vostra discus­sio­ne è quel­lo rela­ti­vo agli inter­ven­ti come inse­gnan­te rela­ti­va­men­te alle miscon­cep­tion. Non ho ricet­te “asso­lu­te” qui; sto rac­co­glien­do un po’ di spun­ti nei testi che sto leg­gen­do, e li pre­sen­te­rò al ter­mi­ne del­la lezio­ne. Di nuo­vo, vi chie­do però di riflet­ter­ci per­so­nal­men­te e di pro­va­re a por­ta­re la vostra opinione.

  • Slide pre­sen­ta­te duran­te la lezio­ne [Link]

Lezione 2

2) Elencare le misconception

  • data la vostra espe­rien­za (di stu­den­ti del­le supe­rio­ri, di stu­den­ti uni­ver­si­ta­ri, alcu­ni di voi come tutor, alcu­ni di voi come inse­gnan­ti, alcu­ni di voi come per­so­ne che fan­no ripe­ti­zio­ni), pro­va­te ad elen­ca­re “miscon­cep­tion” nel­la pro­gram­ma­zio­ne in cui vi sie­te imbat­tu­ti, per­so­nal­men­te o in altri
  • com­ple­ta­te l’e­len­co rac­co­glien­do spun­ti dal testo di Quian e Lehman, più da even­tua­li altri docu­men­ti (ne elen­co un paio sotto)
  • se vole­te, lavo­ra­te a que­sto task in grup­po, rac­co­glien­do insie­me que­sti elen­chi tra­mi­te un testo con­di­vi­so. E’ pos­si­bi­le sfrut­ta­re i grup­pi già for­ma­ti per que­sto lavoro.
  • pen­so che iden­ti­fi­che­re­te un sac­co di miscon­cep­tion rela­ti­ve alle aree sin­tat­ti­che e con­cet­tua­li, poco rispet­to a quel­le stra­te­gi­che. Riflettete sul perché.

Al fine di com­pren­de­re meglio qua­li potreb­be­ro esse­re le miscon­cep­tion che stia­mo cer­can­do, que­sta potreb­be esse­re una pos­si­bi­le classificazione:

  • Generali (il con­cet­to gene­ra­le di pro­gram­ma e di esecuzione)
  • Assegnamento (con­cet­to di varia­bi­le, asse­gna­men­ti e valu­ta­zio­ne del­le espressioni)
  • Controllo (sequen­ze, istru­zio­ni con­di­zio­na­li, cicli)
  • Chiamate (invo­ca­zio­ne fun­zio­ni e pas­sag­gio parametri)
  • Memoria (vet­to­ri, matri­ci, oggetti)
  • Reference (refe­ren­ce, pun­ta­to­ri, iden­ti­tà degli oggetti)
  • OO (rela­ti­ve all’o­b­ject orien­ta­tion, alle clas­si, alle istanze)
  • Ricorsione
  • Varie

Questa divi­sio­ne è artificiale/incompleta, ser­ve solo come pun­to di par­ten­za. Potete deci­de­re per una clas­si­fi­ca­zio­ne diver­sa, accor­pan­do o smem­bran­do le categorie.

Può esse­re uti­le pren­de­re qual­che spun­to da qual­che testo aggiun­ti­vo, fra quel­li elen­ca­ti nel­l’ar­ti­co­lo da leg­ge­re. Ne cito un paio qui, uno di ras­se­gna (più vec­chio, del 2004) e uno spe­ci­fi­co per un lin­guag­gio di pro­gram­ma­zio­ne (Python).

Al ter­mi­ne del­la lezio­ne vi pre­sen­te­rò una lista mol­to lun­ga di miscon­cep­tion elen­ca­te in let­te­ra­tu­ra (oltre 160!), ma lo sco­po di que­sto eser­ci­zio è far­vi riflet­te­re pri­ma di vede­re una lista già “pron­ta”.

3) Gestione dell’errore

Le miscon­cep­tion sin­tat­ti­che dan­no (qua­si) sem­pre ori­gi­ne a mes­sag­gi di erro­re. Anche le miscon­cep­tion con­cet­tua­li pos­so­no dare ori­gi­ne a mes­sag­gi di erro­re. Spesso e volen­tie­ri, que­sti mes­sag­gi sono pro­get­ta­ti per uten­ti esper­ti, non per i pro­gram­ma­to­ri alle pri­me armi e quin­di non sono uti­li a com­pren­de­re la miscon­cep­tion alla base dell’errore.

Banalizzando, un pro­ces­so “nor­ma­le” nel cor­so del­l’in­se­gna­men­to potreb­be esse­re quel­lo di rea­gi­re ai mes­sag­gi iden­ti­fi­can­do la miscon­cep­tion e uti­liz­zan­do­la come occa­sio­ne di inse­gna­men­to. Non pos­sia­mo usa­re que­sto approc­cio qui, per­ché non abbia­mo stu­den­ti inesperti.

Vi pro­pon­go quin­di un approc­cio inver­so: come eser­ci­zio, pro­va­te a scri­ve­re codi­ce, in qual­che lin­guag­gio, che evi­den­zia una miscon­cep­tion e ripor­ta­te il mes­sag­gio di erro­re. Riflettete sul­la sua chia­rez­za e come potre­ste aiu­ta­re uno stu­den­te nel risol­ve­re tale problema.

Materiale lezio­ne

Scroll to top