Alan Kay: Com ensenyaria la informàtica 101

"Una de les raons per anar realment a la universitat és anar més enllà de la simple formació professional i captar idees més profundes".

Alan Kay: Com ensenyaria la informàtica 101

Pensem una mica en aquesta pregunta. Fa uns quants anys, els departaments d'Informàtica em van convidar a donar conferències a diverses universitats. Gairebé per casualitat, vaig preguntar al meu primer públic d'estudiants de grau, estudiants de postgrau i professors sobre la seva definició de "ciència de la informàtica". Tothom només podia donar una definició d'enginyeria. Vaig fer això a cada lloc nou, i a tot arreu hi havia resultats similars.

Una altra pregunta va ser: "Qui és Douglas Engelbart?" Diverses persones van dir: "no tenia alguna cosa a veure amb un ratolí d'ordinador?" (i això va ser molt decebedor per a mi, ja que la meva comunitat científica s'havia esforçat molt per assegurar-se que la resposta a aquesta pregunta fos possible amb dos o tres clics del ratolí i convençut que Engelbart realment tenia alguna cosa a veure amb el ratolí de l'ordinador) .

Part del problema era la manca de curiositat, en part l'estretor dels objectius personals que no estaven relacionats amb l'aprenentatge, en part la manca de comprensió de què era aquesta ciència, etc.

Fa diversos anys que treballo a temps parcial al departament d'informàtica de la Universitat de Califòrnia (essencialment sóc professor, però no he d'anar a reunions de departament). De tant en tant faig classes, de vegades per a alumnes de primer. Amb els anys, el ja baix nivell de curiositat en Informàtica ha baixat significativament (però el nivell de popularitat també ha augmentat, ja que la informàtica es veu com un camí cap a una feina ben remunerada si pots codificar i obtenir un certificat d'un superior). 10 escola). En conseqüència, ni un sol estudiant s'ha queixat mai que el primer idioma de la Universitat de Califòrnia és C++!

Em sembla que ens trobem davant d'una situació en què tant els significats d'"Informàtica" com de "Ciència" han estat destruïts per conceptes febles i massius per crear un nou terme -una mena d'etiqueta als texans- que sona bé però és força buit. Un terme relacionat que s'ha destruït de la mateixa manera és "enginyeria de programari", que, de nou, no va utilitzar les idees més enginyoses de "programació" i "enginyeria", sinó que simplement les va combinar (això es va fer deliberadament als anys seixanta, quan va ser terme encunyat).

Una de les raons per anar realment a la universitat és anar més enllà de la simple formació professional i captar idees més profundes. Em sembla força raonable que una introducció a una especialitat intenti —a través d'exemples si és possible— que els estudiants s'involucrin amb problemes de la vida real i comencin a entendre què és realment interessant, important i central per al camp.

Els alumnes de primer s'alegren quan se'ls mostra com un regle a sobre d'un altre es converteix en una màquina de sumar, amb la qual poden vèncer els nens de 5è a l'hora de sumar fraccions. I després estaran encantats de participar en el desenvolupament de màquines de sumar millorades. Van tocar un ordinador real, una eina física i mental que ens ajuda a pensar. Van aprendre una manera realment eficaç de representar els números, més eficaç que el que s'ensenya a les escoles!

Van ser capaços de combinar la seva idea de sentit comú d'"afegir" com "acumular" amb alguna cosa semblant amb poderoses propietats noves. El van programar per poder resoldre una varietat de problemes.

També l'han ampliat. Etcètera. Això no és un ordinador digital. I això no és un ordinador amb un programa memoritzat. Però aquesta és l'essència d'un ordinador. Igual que mecanisme d'antikythera - Aquesta és generalment l'essència d'un ordinador i de la informàtica.

Alan Kay: Com ensenyaria la informàtica 101

Mecanisme d'Antikythera

Fins on podem arribar i quant podem fer abans que les coses se'ns vagin de les mans i ens perdem en abstraccions? Sempre he estat parcial amb la caracterització Alan Perlis - el primer guanyador del premi Turing, que potser va inventar el terme "Computer Science" - que als anys 60 va dir: "La informàtica és la ciència dels processos". Tots els processos.

Pel bé de Quora, no intentem avançar més ni convertir-ho en dogma religiós. Utilitzem la idea amb alegria Ala Perlisaper pensar millor en el nostre camp. I sobretot sobre com ensenyar-ho. Ara hem de mirar el significat modern de "ciència", i Perlis estava bastant segur que no s'havia de diluir amb significats més antics (com ara "col·lecció de coneixement") i usos (com ara "biblioteca" o fins i tot "socials". ciències") "). Per "ciència" va intentar entendre un fenomen creant models/mapes que intenten mostrar, "seguir" i predir els fenòmens.

Alan Kay: Com ensenyaria la informàtica 101

He donat diverses entrevistes sobre com els millors mapes i models solen adaptar-se a una samarreta, com ho fan les equacions de Maxwell i altres. L'analogia és que hi ha una "ciència dels ponts", tot i que la majoria dels ponts són fets per l'home. Però un cop construït un pont, representa fenòmens que els científics poden estudiar, els ponts es poden utilitzar per fer models de molts tipus i formar "teories de ponts" exhaustives i útils. La diversió és que després podeu dissenyar i construir nous ponts (ja he esmentat que gairebé no hi ha res més divertit que científics i enginyers treballant junts per resoldre problemes grans i importants!)

Alan Kay: Com ensenyaria la informàtica 101

Herbert Simon, un premi Turing i guanyador del premi Nobel, ho va anomenar tot "la ciència de l'artificial" (i va escriure un llibre excel·lent amb el mateix títol).

Alan Kay: Com ensenyaria la informàtica 101

Permeteu-me que us doni un exemple. Als anys 50, empreses i universitats van construir ordinadors de memòria i van començar a programar-los -i va haver-hi un moment especial quan va sortir Fortran l'any 1956-, que no va ser el primer llenguatge d'alt nivell, però potser el primer va fer tan bé que ha estat utilitzat en moltes àrees diferents, incloses moltes que abans només es feien en llenguatge màquina.

Tot això va donar lloc a "fenòmens".

Alan Kay: Com ensenyaria la informàtica 101

John McCarthy

La història de Lisp és més complexa, però John McCarthy es va interessar a intentar trobar una "teoria matemàtica de la computació" i es va decidir a fer que tot funcionés perfectament. La funció d'eval, que interpreta Lisp, podria cabre fàcilment en una samarreta! En comparació amb un "sistema de programació", això és insignificant. Més important encara, aquesta "teoria de la computació" era un concepte més poderós que Fortran! Aquesta va ser la millor idea de pont!

La naturalesa en miniatura de Lisp permet capturar tota la idea de la programació en un parell de clics a un nivell més profund i pensar en un nivell que sembla simplement impossible quan observeu artefactes enormes (aquesta és una de les raons per què als científics els agrada que les matemàtiques siguin compactes i potents). Les matemàtiques utilitzades aquí són noves matemàtiques perquè permeten conceptes com "abans" i "després" i això condueix a una "lògica variable" que permet preservar tant la dependència funcional com el flux lògic del pensament alhora que permet la posició i el pas. de temps. (Això encara no s'entén en el nostre temps en el cruel món de la programació situacional).

Lisp, com a potent llenguatge de programació i metalenguatge que pot representar la seva pròpia teoria, és un exemple de veritable ciència informàtica. Si ho aprens i altres coses semblants, podràs pensar més profundament i ser més responsable del teu propi destí que si simplement aprengues a programar en Fortran o els seus equivalents moderns (... així et pots apropar més als programadors! ).

Aprendràs molt més sobre els tipus especials de disseny que es necessiten en informàtica (per exemple, normalment no s'aprecia quan la informàtica sovint requereix sortir de l'entorn informàtic: una de les característiques especials de la informàtica suau emmagatzemada és que no és només el material per al programa, però material per a un ordinador completament nou).

Un altre motiu per triar la definició de Perlis és que, en general, la informàtica està molt més preocupada per la creació de sistemes de molts tipus que per algorismes, "estructures de dades" o fins i tot la programació en si mateixa. Per exemple, un ordinador és un sistema, la informàtica és un sistema, una xarxa local i Internet són sistemes, i la majoria dels programes haurien de ser sistemes millors que ells (el vell estil de programació dels anys 50 va durar fins que sembla que la programació hauria de ser així, res més lluny de la realitat).

Internet n'és un bon exemple: a diferència de la majoria de programari d'avui en dia, Internet no cal aturar-se per arreglar o millorar res; és més com un sistema biològic -per la nostra intenció- que el que la majoria de la gent pensa com un sistema informàtic. I és molt més escalable i fiable que gairebé tots els sistemes de programari disponibles actualment. Val la pena pensar-ho abans d'ensenyar conceptes menys potents als programadors novells!

Per tant, el que hem de fer en un curs d'Informàtica de primer any és tenir en compte què poden estar fent els estudiants al principi i després intentar mantenir-se dins de la seva "càrrega cognitiva" per ajudar-los a arribar al que és realment important. És important "mantenir-se real" i trobar maneres intel·lectualment honestes i adequades per a aquells que acaben de començar. (Si us plau, no ensenyeu idees dolentes només perquè semblen una mica més simples: moltes idees dolentes són realment més senzilles!).

Els estudiants haurien de començar per crear alguna cosa que tingui moltes de les característiques importants que he comentat aquí. Hauria de ser un sistema de diverses parts que interactuen dinàmicament, i així successivament. Una bona manera de decidir quin llenguatge de programació utilitzar és simplement fer alguna cosa que tingui milers de parts interactives! Si no, hauríeu de trobar-ne un. El pitjor que pots fer és posar els estudiants en un camí de massa poca fluïdesa, que limitaria molt les grans idees. Només els mata, i volem criar-los, no matar-los.

Sobre GoTo School

Alan Kay: Com ensenyaria la informàtica 101

Font: www.habr.com

Afegeix comentari