Alan Kay: Wéi géif ech Computer Science 101 léieren

"Ee vun de Grënn fir tatsächlech op d'Uni ze goen ass fir iwwer déi einfach berufflech Ausbildung ze goen an amplaz méi déif Iddien ze begräifen."

Alan Kay: Wéi géif ech Computer Science 101 léieren

Loosst eis e bëssen iwwer dës Fro denken. Virun e puer Joer hunn d'Informatik Departementer mech invitéiert fir Virträg op enger Rei vun Universitéiten ze ginn. Bal duerch Zoufall hunn ech meng éischt Publikum vu Undergraduate, Graduéierter Studenten a Proffen iwwer hir Definitioun vu "Computer Science" gefrot. Jidderee konnt nëmmen eng Ingenieursdefinitioun ginn. Ech hunn dat op all nei Plaz gemaach, an iwwerall goufen et ähnlech Resultater.

Eng aner Fro war: "Wien ass den Douglas Engelbart?" Verschidde Leit soten: "haat et net eppes mat enger Computermaus ze dinn?" (an dat war fir mech ganz enttäuschend, well meng wëssenschaftlech Communautéit vill Effort gemaach huet fir sécherzestellen datt d'Äntwert op dës Fro mat zwee oder dräi Mausklicken méiglech wier an iwwerzeegt datt Engelbart wierklech eppes mat der Computermaus ze dinn huet) .

En Deel vum Problem war e Manktem u Virwëtz, deelweis eng Enkheet vu perséinlechen Ziler, déi net mam Léiere verbonne sinn, deelweis e Manktem u Verständnis vu wat dës Wëssenschaft war, etc.

Ech schaffe fir e puer Joer Deelzäit am Computerwëssenschaftsdepartement op der University of California (ech sinn am Fong Professer, awer ech muss net op Departementsversammlungen goen). Vun Zäit zu Zäit ginn ech Coursen, heiansdo fir éischte Joer Studenten. Am Laf vun de Joren ass de schonn nidderegen Niveau vun der Virwëtzegkeet an der Informatik wesentlech erofgaang (awer den Niveau vun der Popularitéit ass och eropgaang, well de Computer als Wee fir eng gutt bezuelte Aarbecht gesi gëtt, wann Dir kënnt codéieren an e Certificat vun enger Top kréien 10 Schoul). Deemno huet keen eenzege Student jeemools beschwéiert datt déi éischt Sprooch op der University of California C++ ass!

Et schéngt mir, datt mir mat enger Situatioun konfrontéiert sinn, an där souwuel d'Bedeitung vun "Computer" wéi och "Wëssenschaft" duerch schwaach, massiv Konzepter zerstéiert goufen, fir en neie Begrëff ze kreéieren - eng Aart Label op Jeans - dee gutt kléngt awer ass zimlech eidel. E verwandte Begrëff, deen ähnlech zerstéiert gouf ass "Software Engineering", deen, erëm, net déi genialst Iddie vu "Programméiere" an "Ingenieur" benotzt huet, awer einfach kombinéiert (dëst gouf bewosst an de sechzeger Joeren gemaach, wéi et war ausgezeechent Begrëff).

Ee vun de Grënn fir tatsächlech op d'Uni ze goen ass fir iwwer déi einfach berufflech Ausbildung ze goen an amplaz méi déif Iddien ze begräifen. Et schéngt mir ganz raisonnabel fir eng Aféierung an eng Spezialitéit ze probéieren - duerch Beispiller wa méiglech - d'Studenten mat reale Problemer ze engagéieren an ze verstoen wat eigentlech interessant, wichteg an zentral am Feld ass.

Éischtklasser freeën sech, wa se gewisen ginn, wéi e Lineal op engem aneren Lineal eng Zousatzmaschinn gëtt, mat där se d'Kanner aus der 5. Klass schloen, wann se Fraktiounen addéieren. An da wäerte se frou sinn un der Entwécklung vu verbesserten Zousatzmaschinnen deelzehuelen. Si hunn e richtege Computer beréiert - e kierperlecht a mentalt Tool dat eis hëlleft ze denken. Si hunn e wierklech effektive Wee geléiert fir Zuelen ze representéieren - méi effektiv wéi dat wat an de Schoule geléiert gëtt!

Si konnten hir gesonde Mënscheverstand Idee vun "derbäisetzen" als "accumuléieren" mat eppes ähnleches mat mächtegen neien Eegeschafte kombinéieren. Si hunn et programméiert fir verschidde Probleemer ze léisen.

Si hunn et och ausgebaut. A sou weider. Dëst ass keen digitale Computer. An dëst ass net e Computer mat engem memoriséierte Programm. Awer dat ass d'Essenz vun engem Computer. Just wéi Antikythera Mechanismus - Dëst ass allgemeng d'Essenz vun engem Computer a Rechen.

Alan Kay: Wéi géif ech Computer Science 101 léieren

Antikythera Mechanismus

Wéi wäit kënne mir goen a wéi vill kënne mir maachen ier d'Saachen aus der Hand kommen a mir an Abstraktioune verluer goen? Ech war ëmmer deelweis zu Charakteriséierung Alan Perlis - den éischten Turing Award Gewënner, dee vläicht de Begrëff "Computer Science" erfonnt huet - deen an de 60er gesot huet: "Computer Science is the science of processes." All Prozesser.

Fir d'Wuel vun Quora, loosst eis net probéieren dëst weider ze drécken oder et zu reliéisen Dogma ze maachen. Loosst eis d'Iddi just mat Freed benotzen Ala Perlisabesser iwwert eist Gebitt ze denken. A virun allem iwwer wéi et ze léieren. Mir mussen elo déi modern Bedeitung vun "Wëssenschaft" kucken, an de Perlis war zimlech zouversiichtlech datt et net mat eelere Bedeitungen (wéi "Sammlung vu Wëssen") a Gebrauch (wéi "Bibliothéikswëssenschaft" oder souguer "sozial) verdünnt sollt ginn. Wëssenschaften") "). Mat "Wëssenschaft" huet hien probéiert e Phänomen ze verstoen andeems hien Modeller/Kaarten erstallt huet, déi probéieren d'Phänomener ze weisen, "verfollegen" an virauszesoen.

Alan Kay: Wéi géif ech Computer Science 101 léieren

Ech hunn e puer Interviewe ginn iwwer wéi déi bescht Kaarten a Modeller dacks en T-Shirt passen, sou wéi dem Maxwell seng Equatiounen an anerer dat maachen. D'Analogie ass datt et eng "Wëssenschaft vu Brécke" gëtt, och wann déi meescht Brécke vu Mënsch gemaach ginn. Awer wann eng Bréck gebaut ass, stellt se Phänomener duer, déi d'Wëssenschaftler studéiere kënnen, Brécke kënne benotzt ginn fir Modeller vu ville Arten ze maachen, a bilden ëmfaassend an nëtzlech "Brécktheorien". De Spaass ass datt Dir dann nei Brécke kënnt designen a bauen (ech hu scho gesot datt et kaum eppes méi Spaass gëtt wéi Wëssenschaftler an Ingenieuren déi zesumme schaffen fir grouss a wichteg Problemer ze léisen!)

Alan Kay: Wéi géif ech Computer Science 101 léieren

Den Herbert Simon, en Turing Award an Nobelpräis Gewënner, huet dat alles "d'Wëssenschaft vum kënschtlechen" genannt (an huet en exzellent Buch mam selwechten Titel geschriwwen).

Alan Kay: Wéi géif ech Computer Science 101 léieren

Loosst mech Iech e Beispill ginn. An de 50er Joren hunn Firmen an Universitéite Memory Computere gebaut an ugefaang se ze programméieren - an et war e spezielle Moment wou Fortran am Joer 1956 erauskoum - wat net déi éischt Héichniveau Sprooch war, awer vläicht déi éischt sou gutt gemaach datt et gouf. a ville verschiddene Beräicher benotzt, dorënner vill déi virdru just an der Maschinnsprooch gemaach goufen.

All dëst huet zu "Phänomener" entstanen.

Alan Kay: Wéi géif ech Computer Science 101 léieren

John McCarthy

Dem Lisp seng Geschicht ass méi komplex, awer den John McCarthy huet sech interesséiert fir eng "mathematesch Theorie vun der Berechnung" ze fannen a war décidéiert fir alles perfekt ze maachen. D'Evalfunktioun, déi Lisp interpretéiert, kéint einfach op en T-Shirt passen! Am Verglach mat engem "Programméierungssystem" ass dëst net bedeitend. Méi wichteg, dës "Theorie vun der Berechnung" war e méi mächtegt Konzept wéi Fortran! Dëst war déi bescht Bréck Iddi!

D'Miniatur Natur vum Lisp erlaabt d'ganz Iddi vun der Programméierung an e puer Klicks op engem méi déifen Niveau ze erfaassen an op engem Niveau duerchzedenken deen einfach onméiglech schéngt wann Dir rieseg Artefakte kuckt (dëst ass ee vun de Grënn firwat Wëssenschaftler wéi Mathematik kompakt a mächteg sinn). D'Mathematik déi hei benotzt gëtt ass nei Mathematik well et Konzepter wéi "virdrun" an "no" erlaabt an dëst féiert zu "variabler Logik" déi souwuel funktionell Ofhängegkeet wéi och logesche Flux vum Gedanken erlaabt ze erhaalen an och d'Positioun an de Passage erlaabt. vun Zäit. (Dëst versteet een an eiser Zäit an der grausamer Welt vun der situativer Programméierung nach ëmmer net).

Lisp, als mächteg Programméierungssprooch a Metasprooch, déi seng eege Theorie vertriede kann, ass e Beispill vu richtege Informatik. Wann Dir et an aner ähnlech Saachen léiert, kënnt Dir méi déif denken a méi verantwortlech fir Äert eegent Schicksal sinn, wéi wann Dir einfach geléiert hutt a Fortran oder seng modern Äquivalenten ze programméieren (... also kënnt Dir méi no bei de Programméierer kommen! ).

Dir wäert vill méi iwwer déi speziell Aarte vun Design léieren, déi am Informatik gebraucht ginn (zum Beispill, et gëtt normalerweis net geschätzt wann Informatik dacks ausserhalb vum Informatikëmfeld erfuerdert: eng vun de spezielle Charakteristike vu gespäicherten Soft Computing ass datt et net nëmmen ass d'Material fir de Programm, awer Material fir e komplett neie Computer).

En anere Grond fir dem Perlis seng Definitioun ze wielen ass datt am Allgemengen de Computer vill méi mat der Schafung vu Systemer vu villen Aarte beschäftegt ass wéi mat Algorithmen, "Datenstrukturen" oder souguer selwer ze programméieren. Zum Beispill, e Computer ass e System, Informatik ass e System, e lokalt Netzwierk an den Internet si Systemer, an déi meescht Programmer solle besser Systemer sinn wéi se sinn (den alen Programméierungsstil aus de 50er huet gedauert bis et schéngt wéi d'Programméierung sollt sinn esou - näischt kéint méi wäit vun der Wourecht sinn).

Den Internet ass e gutt Beispill - am Géigesaz zu de meeschte Software hautdesdaags, brauch den Internet net gestoppt ze ginn fir eppes ze fixéieren oder ze verbesseren - et ass méi wéi e biologesche System - no eiser Absicht - wéi dat wat déi meescht Leit als Rechensystem denken. An et ass vill méi skalierbar an zouverlässeg wéi bal all Software Systemer déi haut verfügbar sinn. Dëst ass wierklech derwäert ze denken ier Dir manner mächteg Konzepter un Newbie Programméierer léiert!

Also wat mir musse maachen an engem éischte Joer Informatik Cours ass Rechnung ze huelen wat genau Studenten am Ufank maache kënnen, an dann probéieren bannent hirer "kognitiver Laascht" ze bleiwen fir hinnen ze hëllefen dat wat wierklech wichteg ass. Et ass wichteg "real ze bleiwen" a Weeër ze fannen déi intellektuell éierlech sinn a passend fir déi, déi just ufänken. (Léiert w.e.g. keng schlecht Iddien just well se e bësse méi einfach schéngen - vill schlecht Iddien sinn eigentlech méi einfach!).

D'Studente sollen ufänken eppes ze kreéieren dat vill vun de wichtege Charakteristiken huet, déi ech hei diskutéiert hunn. Et soll e System vu verschiddenen dynamesch interagéierend Deeler sinn, a sou weider. E gudde Wee fir ze entscheeden wéi eng Programméierungssprooch ze benotzen ass einfach eppes ze maachen dat Dausende vun interagéierend Deeler huet! Wann net, da sollt Dir eng fannen. Dat Schlëmmst wat Dir maache kënnt ass d'Studenten op e Wee vun ze wéineg Fléissegkeet setzen, wat grouss Iddie staark begrenzt. Et killt se just - a mir wëllen se erhéijen, net ëmbréngen.

Iwwer GoTo School

Alan Kay: Wéi géif ech Computer Science 101 léieren

Source: will.com

Setzt e Commentaire