Ăks pĂ”hjus, miks tĂ”eliselt ĂŒlikooli astuda, on see, et minna kaugemale lihtsalt ametialasest ettevalmistusest ja haarata hoopis sĂŒgavamate ideede kĂŒlge.

MĂ”tleme selle ĂŒle natuke. MĂ”ni aasta tagasi kutsusid Computeri teaduse osakonnad mind loenguteks mitmesse ĂŒlikooli. Peaaegu juhuslikult kĂŒsisin oma esimeselt auditooriumilt, mis koosnes vanemaastmest, kraadiĂ”ppuritest ja professoritest, nende mÀÀratlust «Computer Science». KĂ”ik suutsid anda vaid inseneritehnilise mÀÀratluse. Olen seda teinud igas uues kohas ja kĂ”ikjal olid sarnased tulemused.
Teine kĂŒsimus oli: «Kes on Douglas Engelbart?». MĂ”ned inimesed ĂŒtlesid: «Kas ta ei olnud kuidagi seotud hiirega?» (ja see hĂ€iris mind vĂ€ga, kuna minu teaduslik kogukond on teinud palju tööd, et sellele kĂŒsimusele saaks vastata kahe-kolme hiireklĂ”psuga ning veenduda, et Engelbart tĂ”epoolest oli hiirega seotud).
Osaliselt oli probleemis uudishimu puudumine, osaliselt isiklikud eesmÀrgid, mis ei olnud seotud Ôppimisega, ja osaliselt puudulik arusaam sellest, mis see teadus endast kujutab, ja nii edasi.
Olen töötanud osalise tööajaga California Ălikooli arvutitehnika osakonnas mĂ”ned aastad (pĂ”himĂ”tteliselt olen professor, kuid mul pole vaja osaleda osakonna koosolekutel). Aeg-ajalt Ă”petan tunde, mĂ”nikord esimese kursuse ĂŒliĂ”pilastele. Nende aastate jooksul on juba madal uudishimu arvutiteaduse vastu veelgi vĂ€henenud (aga populaarsus on suurenenud, kuna arvutitehnika nĂ€hakse kui teed hĂ€sti tasustatud tööle, kui oskad programmeerida ja oled saanud sertifikaadi parimates kĂŒmnes koolis). Seega ei ole ĂŒkski ĂŒliĂ”pilane veel kaevanud, et Kalifornia Ălikoolis on esimene keel C++!
Minu arvates oleme sattunud olukorda, kus mĂ”lemad mĂ”isted âArvutiâ ja âTeadusâ on nĂ”rkade massiivsete kontseptsioonide tĂ”ttu purustatud, et luua uus termin - omamoodi silt teksapĂŒkstel - mis kĂ”lab hĂ€sti, kuid on piisavalt tĂŒhi. Sellega seotud termin âprogrammeerimise inseneriteadusâ on samuti selliselt purustatud, mis ei kasutanud parimaid mĂ”isteid âprogrammeerimineâ ja âinseneriteadusâ, vaid lihtsalt kombineeris need (see tehti teadlikult kuuekĂŒmnendatel, kui termin loodi).
Ăks pĂ”hjus, miks ĂŒlikooli astuda, on vĂ€lja minna lihtsast ametikoolitusest ja haarata hoopis sĂŒgavamad ideed. Arvan, et on ĂŒsna mĂ”istlik ĂŒritada aine tutvustamisel - kui vĂ”imalik, nĂ€idete kaudu - teha nii, et Ă”ppijad tegeleksid reaalsete probleemidega ja hakkaksid aru saama, mis on tĂ”eliselt huvitav, oluline ja kesksel kohal antud valdkonnas.
Esimese klassi Ă”pilased rÔÔmustavad, kui neile nĂ€idatakse, kuidas joonlaud teise joonlaua kohal muutub aritmeetikainstrumendiks, millega nad saavad 5. klassi Ă”pilasi ĂŒletada murdosa lisamisel. Ja seejĂ€rel on nad Ă”nnelikud, et saavad osaleda tĂ€iustatud aritmeetikainstrumendi arendamisel. Nad said tĂ”eliselt kontakti arvutiga - fĂŒĂŒsilise ja vaimse tööriistaga, mis aitab meil mĂ”elda. Nad on Ă”ppinud tĂ”eliselt tĂ”husat viisi numbrite esitlemiseks - tĂ”husam, kui seda Ă”petatakse koolides!
Nad suutsid siduda oma aruka idee âlisamisestâ kui âkumulatsioonistâ millegi uuega, mis omab uusi vĂ”imsaid omadusi. Nad programmeerisid selle selliselt, et see suudab lahendada erinevaid probleeme.
Nad laiendasid seda ka. Ja nii edasi. See ei ole digitaalne arvuti. Ja see ei ole arvuti, millel on salvestatav programm. Kuid see on arvuti olemus. Just nagu â see on arvuti ja arvutuste olemus.

AntikĂŒĂŒtera mehhanism
Kaua me saame minna ja kui palju saame teha enne, kui kĂ”ik lĂ€heb kontrolli alt vĂ€lja ja me kaotame end abstraktsioonides? Olen alati olnud tundlik â esimene Turingi auhinna laureaat, kes vĂ”ib-olla leiutas termini âArvutiteadusâ â kes ĂŒtles 60ndatel: âArvutiteadus on protsesside teadus.â KĂ”ikides protsessides.
Quora nimel Ă€rgem ĂŒritagem seda edasi suruda vĂ”i religioosseks dogmaks muuta. Lihtsalt kasutame ideed Ă”nnelikult. , et paremini mĂ”elda meie valdkonnale. Ja eriti sellele, kuidas sellele Ă”petada. TĂ€na peame vaatama âteaduseâ kaasaegset tĂ€hendust, ja Perlis oli ĂŒsna kindel, et see ei tohiks olla lahjendatud vanade tĂ€hendustega (nĂ€iteks âteadmiste kogumisegaâ) ja kasutustega (nt âraamatukogu teadusâ vĂ”i isegi âsotsiaalteadusedâ). All âteadusâ ĂŒritas ta mĂ”ista fenomeni, luues mudeleid/kaarte, mis pĂŒĂŒavad nĂ€idata, âjĂ€lgidaâ ja ennustada nĂ€htusi.

Olen andnud mĂ”ningaid intervjuusid selle kohta, kuidas parimad kaardid ja mudelid vĂ”ivad sageli sobida t-sĂ€rgi jaoks, nagu Maxwelli vĂ”rrandid ja muud. Analoogia on selles, et on olemas âsildade teadusâ, kuigi enamik sildu on inimese loodud. Kuid niipea kui sild on ehitatud, kajastab see nĂ€htusi, teadlased saavad neid uurida, sildadest on vĂ”imalik luua mudeleid mitmesuguste liikide jaoks ja luua laiahaardelisi ja kasulikke âsildade teooriaidâ. Toimus on see, et seejĂ€rel saab kavandada ja ehitada uusi sildu (olen juba maininud, et tĂ”enĂ€oliselt ei ole midagi lĂ”busamat kui teadlaste ja inseneride koostöö suurte ja oluliste probleemide lahendamiseks!)

Herbert Simon â Turingi auhinna ja Nobeli preemia laureaat â nimetas kogu seda âtehnoloogia teaduseksâ (ja kirjutas suurepĂ€rase raamatu sama pealkirjaga).

Toon vĂ€lja nĂ€ite. 50ndatel aastatel ehitasid ettevĂ”tted ja ĂŒlikoolid arvuteid, millel oli salvestatav programm, ja hakkasid neid programmeerima â ja oli eriline hetk, kui 1956. aastal ilmus Fortran â mis ei olnud esimene kĂ”rgetasemeline keel, kuid vĂ”imalik, et esimene, mis oli tehtud nii hĂ€sti, et seda kasutati paljudes erinevates valdkondades, sealhulgas paljudes, mis varem olid tehtud ainult masinkeelega.
KĂ”ik see sĂŒnnitas âfenomenaâ.

John McCarthy
Lisp'i ajalugu on keerulisem, kuid John McCarthy oli huvitatud proovimisest leida "arvutuste matemaatiline teooria" ja oli mÀÀratud tegema nii, et kĂ”ik töötaks suurepĂ€raselt. Eval-funktsioon, mis tĂ”lgendab Lisp'i, mahub kergesti T-sĂ€rgi peale! VĂ”rreldes "programmimiseksĂŒsteemiga" on see vĂ€ga vĂ€ike. Mis veelgi olulisem, see "arvutuste teooria" sisaldas vĂ”imsamat kontseptsiooni kui Fortran! See oli parim idee sillaks!
Lisp'i kompaktne olemus vĂ”imaldab kogu programmeerimise ideed haarata mĂ”ne klĂ”psuga sĂŒgaval tasandil ja mĂ”elda tasemele, mis tundub lihtsalt vĂ”imatu, kui vaatad suuri artefakte (see on ĂŒks pĂ”hjusi, miks teadlased armastavad, et matemaatika oleks kompaktne ja vĂ”imas). Siin kasutatud matemaatika on uus matemaatika, kuna see lubab selliseid mĂ”isteid nagu "enne" ja "pĂ€rast", mis viib "muutuva suuruse loogikani", mis vĂ”imaldab sĂ€ilitada nii funktsionaalset sĂ”ltuvust kui ka loogilist mĂ”tlemist, samuti lubades aega ja selle liikumatust. (See on endiselt meie ajal arusaamatu julmas situatsiooniprogrammeerimise maailmas).
Lisp, olles vĂ”imas programmeerimiskeel ja meta-keel, mis suudab esitada oma teooriat, on tĂ”eline arvutiteaduse nĂ€ide. Kui te Ă”pite seda ja muid sarnaseid asju, saate sĂŒgavamalt mĂ”elda ja olla suurema vastutuse all oma saatuse ees, kui kui te lihtsalt Ă”pite programmeerima Fortran'is vĂ”i selle kaasaegsetes ekvivalentides (... nii saate lĂ€heneda programmeerijatele!).
Te Ă”pite palju rohkem spetsiaalsetest disainidest, mis on arvutustes vajalikud (nĂ€iteks ei hinnata tavaliselt, kui arvutused sageli nĂ”uavad vĂ€ljapoole arvutuslikke keskkondi: ĂŒks salvestatud programmide arvutamise eripĂ€ra on see, et see ei ole lihtsalt programmimaterjal, vaid tĂ€iesti uue arvuti jaoks vajalik materjal).
Teine pĂ”hjus Perl'i definitsiooni valimiseks on see, et arvutamine on ĂŒldiselt rohkem seotud erinevat tĂŒĂŒpi sĂŒsteemide loomisega, kui algoritmide, "andmestruktuuride" vĂ”i isegi programmeerimisega kui sellisega. NĂ€iteks arvuti on sĂŒsteem, arvutused on sĂŒsteemid, kohalik vĂ”rk ja internet on sĂŒsteemid, ja enamik programme peaks olema paremad sĂŒsteemid kui need, millega nad on (vana programmeerimise stiil 50ndatest aastatest on kestnud nii kaua, et tundub, et programmeerimine peab olema selline â ei ole midagi tĂ”eliselt kaugemale tĂ”est).
Internet on hea nĂ€ide â erinevalt enamikust tĂ€napĂ€eva programmidest ei pea internetti peatama, et midagi parandada vĂ”i tĂ€iustada â see sarnaneb rohkem bioloogilisele sĂŒsteemile â meie kavatsusest tulenevalt, kui sellele, mida enamik inimesi arvab arvutisĂŒsteemidest. See on palju skaleeritavam ja usaldusvÀÀrsem kui peaaegu kĂ”ik olemasolevad tarkvarasĂŒsteemid. See on tĂ”eliselt vÀÀrt mĂ”tlema, enne kui Ă”petad algajaid programmeerimisele vĂ€hem vĂ”imekatesse kontseptsioonidesse!
Nii et mida me peame tegema esimesel kursusel, mis kĂ€sitleb arvutiteadust, on arvesse vĂ”tta, mida konkreetselt ĂŒliĂ”pilased saavad alguses teha, ja seejĂ€rel pĂŒĂŒda jÀÀda nende "kognitiivse koormuse" piiridesse, et aidata neil jĂ”uda sinna, kus on tĂ”eliselt oluline. On vĂ€ga oluline "olla tĂ”eline" ning leida teid, mis oleksid intellektuaalselt ausad ja sobiksid neile, kes alles alustavad Ă”ppimist. (Palun Ă€rge Ă”petage halbu ideid lihtsalt seetĂ”ttu, et need tunduvad veidi lihtsamad â palju halbu ideid on tegelikult lihtsamad!).
ĂliĂ”pilased peaksid alustama millegi loomisega, millel on palju oluliselt tĂ€htsaid omadusi, millest ma siin rÀÀkisin. See peaks olema sĂŒsteem mitmest dĂŒnaamiliselt omavahel suhtlevast osast ja nii edasi. Hea viis otsustada, millist programmeerimiskeelt kasutada, on lihtsalt luua midagi, millel on tuhandeid omavahel koostööd tegevaid komponente! Kui seda pole, peaksite seda leidma. KĂ”ige hullem, mida teha saab, on suunata ĂŒliĂ”pilased liiga nĂ”rga sujuvuse teele, mis piiraks tugevalt ulatuslikke ideid. See lihtsalt tapab nende entusiasmi â me tahame neid kasvatada, mitte hĂ€vitada.
GoTo koolist

- 17-30 juuni, 15-28 juuli, 12-25 august
Allikas: habr.com
