Astro Pi Challenge

Ja he mencionat que ja porto uns quants anys intentant introduir la programació, he passat per uns quants projectes interessants, en destaco dos.

El de projecte de Mobilitzem la informàtica 4t ESO amb App Inventor és un bona idea per començar a introduir la programació, és prou conegut. És un projecte de caràcter generalista, vull dir amb això que es pot treballar amb el grup sencer sense problemes i en el context de la programació té una vocació molt introductòria, molt semblant al encara més conegut Scratch.

Two views of an Astro Pi computer, showing the front panel (with some of the sensors) and the camera.

Les RasberryPi del projecte font:Projecte AstropI 

No tan conegut és el projecte Astro Pi Challenge i en concret, pels alumnes de ESO i Batxillerat, la Mission Space Lab de la fundació RasberryPi i l’Agència Espacial Europea. Ofereix l’oportunitat de dissenyar una recerca a l’estació espacial internacional.

Per desenvolupar aquesta recerca els alumnes tindran accés a dues RasberryPi amb tot de sensors i càmeres durant 3 hores (aproximadament dues orbites senceres a la Terra) on executaran el seu programa per recollir dades i fotografies de la Terra.

Cal destacar que és projecte internacional (24 paisos membres de la ESA), totalment gratuït, amb molt bon acompanyament durant totes les fases i que a l’escola rebran tot el material necessari incloent una RasberryPi amb els sensors per poder fer les proves necessàries.

El projecte està molt ben seqüència  en 4 fases, dura bona part del curs escolar i ofereix acompanyament amb molts recursos i guies didàctiques. La recerca que hauran de dissenyar és tot un repte, molt transversal on treballaran competències de totes les àrees.  Hauran de treballar en equips ( de de 2 a 6 membres), programar en Python, editar les fotografies que hauran captat des de l’òrbita, georeferenciar-les, treballar amb multitud de dades recollides pels sensors… analitzar totes les dades, treure unes conclusions fonamentades per acabar presentant una recerca de tot plegat. Cada any es presenten centenars de grups i se’n acaben seleccionant les guanyadores, el premi sol ser l’opció de fer una breu connexió amb l’estació espacial o enviar preguntes a algun dels astronautes de la ISS (ex. edició 2022 que va guanyar un dels grups que tutoritzava).

A l’escola hi he participat com a mentor d’una dotzena de grups els últims 4 anys. Ho he encaixat sense molts problemes a Informàtica de 4t d’ESO ( destinant aproximadament el 50% del temps) i a una optativa de Programació a 1r de Batxillerat. A tall d’exemple per veure quina mena de projectes s’hi presentar:

  • Recerques sobre canvi climàtic, en concret van fer recerques per poder determinar de forma automàtica la coberta de neu, l’evolució de deltes de grans rius o caracteritzar el filtre NVDI…
  • Recerques sobre la variació del camp magnètic de la Terra.
  • Sobre les diferències entre les formacions de núvols sobre terra i sobre el mar.
  • Mesurar la radiació a partir del soroll en fotografies nocturnes
  • Sobre d’edat de formació de grans serralades en funció de la seva dimensió fractal (va resultar un dels equips guanyadors 2022 )
  • Estudi del perfil de temperatures en refredar-se en micro-gravetat (sense convecció) (va resultar una recerca molt elogiada 2019).

Després de participar-hi uns quants cops el considero un projecte molt positiu en tots als aspectes, el repte pels alumnes resulta molt motivador  i per la quantitat de competències a que permet desenvolupar.  Com a limitació  he de dir que és difícil portar més de 3 grups simultàniament, això seria un màxim de 18 alumnes (idealment entre 12 i 15). En el meu cas l’assignatura de informàtica la fem desdoblada en dos grups, un orientat a  programació on desenvolupem aquest projecte i l’altre orientat al disseny amb un altre professor. Una situació ideal per portar a la pràctica aquest projecte. No sé com funcionaria amb un grup de més nombrós …

Recursos I -Manuals, canals de vídeo i recursos generals 

Hi ha milers de recursos a la web, ja he comentat els avantatges, però aquí cal tenir en comte un dels inconvenients del llenguatge. En qualsevol llenguatge de programació hi ha una manera correcta i moltes d’incorrectes de fer les coses, en Python això es multiplica en tots sentits. Trobareu moltes pàgines dubtoses, antigues que barregen diferents metodologies de programació i que poden aportar molta confusió. La mateixa pàgina oficial de la llibreria Matplotlib (tot hi que ha millorat moltíssim darrerament) en seria un exemple.

Miro de inculcar als meus alumnes que no es quedin amb la primera proposta de google quan fan una cerca, que prioritzin les documentacions oficials de Python i de les llibreries que fem servir, jo mateix intento predicar amb l’exemple quan busco coses a la classe i els proposo tasques que els fan treballar amb les documentacions oficials.

La realitat és que prefereixen sobretot vídeos, pàgines en castellà més adaptades al seu nivell i clar ara sobretot ChatGTP… i no crec que sigui raonable anar sempre contracorrent, miro d’arribar a un compromís raonable preseleccionant (després faran el que voldran) referències.

Acabo ràpid amb l’últim, el chatGPT, és fantàstic programant i explicant codi. El fem servir sovint. De fet he acabat fent un boot ChatGPT Code Helper que els ajuda a programar en Python en català i amb exemples adaptats al seu nivell i interès.

De pàgines, com he dit n’hi ha milers, deixo aquí una recopilació. Una recopilació que no pretén ser exhaustiva. Simplement un recull prou ampli per anar per feina i que no perdin tant de temps buscant. Els recomano que triïn un parell de referències amb les que es sentin còmodes i les facin servir com a punt de partida.

Uns quants en castellà:

En cursos per capítols en format vídeo dels canals:

En anglès

Bons exemples:

Llibres sencers

Resums

Python Cheatsheet

Llenguatge i IDE

Ara rebuscat veig que ja fa 7 anys, que vaig començar amb Python. No crec, a dia d’avui, que calgui massa justificació. És senzill per començar, molt polivalent, des de gràfics senzills amb el turtle a ciència de dades i amb bones llibreries per poder fer coses ràpid. Per contra algú pot criticar que es poden agafar mals vicis i acabar programant molt malament, compte però acaben programant! a la facultat ja els ensenyaran a fer-ho bé… Estic cada cop més convençut de que és una bona elecció i que amb cap altre llenguatge havia aconseguit tant nivell d’adhesió.

El tema de l’entorn de desenvolupament (IDE), aquí també he arribat a una conclusió clara. Després de començar amb Spyder (havia fer algun curs de ciència de dades…) i Visual Studio Code els he acabat descartant per massa complexos. Recomano molt fortament començar per IDEs molt, molt més senzills i que l’alumnat es puguin concentrar només a programar. Com Thonny (una alternativa seria  o Geany). Vaig descobrir Thonny gràcies a projecte AstroPi i crec que és fantàstic per començar, no pot ser més fàcil d’instal·lar ocupa pocs recursos, en qualsevol ordinador o chromebook funciona al perfecció  (fins i tot en una RasberryPi ) i té el una molt pràctica finestra ‘Shell’ per fer proves i accedir a les variables del programa que has executat. Ideal per centrar-se només a programar. Quan ja saben una mica què estan fent es interessant introduir Colab, una implementació de google dels fantàstics jupiter notebooks. No hauran d’instal·lar res, podran treballar de forma col·laborativa i poden compartir la seva feina amb la resta de l’aula que podran fer servir els seu codis directament sense instal·lar res, crec que és un avantatge decisiu i que he aprofitat per animar-los a fer programes que puguin ser útils a la resta de companys que no fan programació, en el meu cas sobretot de matemàtiques i estadística.