Ruolo delle variabili e pattern elementari

All’origine di que­sta lezio­ne c’è il con­cet­to di “pro­gram­ming plan”, intro­dot­to da Soloway e Ehrlich nel 1984. Un pro­gram­ming plan è un fram­men­to di codi­ce che rap­pre­sen­ta una solu­zio­ne “ste­reo­ti­po” ad un pro­ble­ma di pic­co­le dimen­sio­ni. Un pro­gram­ma­to­re esper­to adat­ta e com­bi­na que­sti “pro­gram­ming plan” in pro­gram­mi complessi.

Più recen­te­men­te, que­sto con­cet­to ha dato ori­gi­ne a due stru­men­ti che pos­so­no esse­re uti­liz­za­ti nel­l’in­se­gna­men­to del­la pro­gram­ma­zio­ne: il ruo­lo del­le varia­bi­li e i pat­tern elementari.

Per il con­cet­to di ruo­lo del­le varia­bi­li, vi pro­pon­go due articoli:

Sceglietene uno! Come intro­du­zio­ne, sono sostan­zial­men­te equi­va­len­ti. Il pri­mo è del grup­po di Sajaniemi, che ha inau­gu­ra­to l’a­rea per il para­dig­ma impe­ra­ti­vo e qui esten­de il discor­so ai para­dig­mi fun­zio­na­li/o­b­ject-orien­ted. Il secon­do è del grup­po di Sorva e ripor­ta alcu­ni dati sul­l’u­ti­liz­zo di que­sto approc­cio in due cor­si uni­ver­si­ta­ri. Sono curio­so di vede­re come vi divi­de­te sugli arti­co­li e le opi­nio­ni che si formano.

Sul fron­te dei micro­pat­tern, la let­te­ra­tu­ra è meno sod­di­sfa­cen­te. Date solo un’oc­chia­ta velo­ce al seguen­te articolo:

Spunti di ragionamento / discussione

  • Provate a ragio­na­re sui pro e con­tro, secon­do il vostro giu­di­zio, del­l’in­di­vi­dua­zio­ne del ruo­lo del­le varia­bi­li / dei pat­tern ele­men­ta­ri nell’insegnamento;
  • Provate a ragio­na­re sui pos­si­bi­li approc­ci da uti­liz­za­re per pre­sen­ta­re i ruoli/pattern agli studenti

Esercizi pratici 

  • Per chi ha ampia espe­rien­za di pro­gram­ma­zio­ne, pro­va­te a scri­ve­re pic­co­li spez­zo­ni di codi­ce in cui ven­ga­no uti­liz­za­ti ognu­no dei ruo­li del­le varia­bi­li. Per chi ha meno espe­rien­za, fate rife­ri­men­to a que­sta pagi­na, par­te del­la Roles of Variables Home Page.
  • Provate a fare un eser­ci­zio simi­le per quan­to riguar­da i pat­tern ele­men­ta­ri. Esiste una pagi­na web dedi­ca­ta agli Elementary Patterns, che però non dà una visio­ne orga­ni­ca del­l’a­rea e inol­tre non è più man­te­nu­ta, con parec­chi bro­ken link (1). Le uni­che pagi­ne che si sal­va­no sono le seguenti:
  • Un eser­ci­zio mol­to più com­ples­so è quel­lo di rispol­ve­ra­re i mate­ria­li del vostro pri­mo cor­so di pro­gram­ma­zio­ne e pro­va­re a indi­vi­dua­re ruo­li e pat­tern. Nel caso non sia­no pre­sen­ti, pro­va­re a ragio­na­re come modi­fi­ca­re le sli­de / gli appun­ti per includerli.

Materiale lezione

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

Materiale per il futuro

Risalendo alle ori­gi­ni di que­sta linea di ricer­ca, sicu­ra­men­te gli arti­co­li di Soloway, Ehrlich e Bonar sono fra i più inte­res­san­ti. Purtroppo, la pre­sen­ta­zio­ne del­le loro idee è fram­men­ta­ta in vari arti­co­li, che essen­do scrit­ti negli anni ’80 sono anche dif­fi­ci­li da leg­ge­re — sia per i costrut­ti usa­ti, ormai desue­ti, sia per il fat­to che alcu­ni sono anco­ra scrit­ti con la mac­chi­na da scri­ve­re! Un eser­ci­zio inte­res­san­te sareb­be quel­lo di leg­ger­li, rias­su­mer­li e aggior­nar­li, seguen­do un approc­cio più moderno.

Il grup­po di Sajaniemi ha scrit­to un gran nume­ro di arti­co­li sul tema dei ruo­li del­le varia­bi­li. Forse trop­pi, a mio pare­re. Sarebbe uti­le un sur­vey che rias­su­ma il tut­to. Ne pro­pon­go qui solo alcu­ni, per una lista più com­ple­ta date un’oc­chia­ta alla pagi­na DBLP di Sajaniemi fra il 2002 e il 2006.

Note

(1) Per chi ha la mia età, lo sti­le HTML fa tor­na­re indie­tro nel tem­po; per la cro­na­ca, uno dei miei pro­fes­so­ri ha man­te­nu­to la sua pagi­na web ori­gi­na­le del 1994 (quan­do io ero stu­den­te) fino al 2015. Quando l’ha cam­bia­ta è fini­ta un’e­po­ca, per me.

(2) Tuttavia, se segui­te alcu­ni dei pat­tern sug­ge­ri­ti nel­l’ar­ti­co­lo su loop pat­terns ver­re­te inse­gui­ti da Roberto Sebastiani con una mannaia.

Scroll to top