En av anledningarna att verkligen börja pÄ universitetet Àr att gÄ bortom enbart professionell utbildning och istÀllet greppa djupare idéer.

LÄt oss fundera lite pÄ denna frÄga. För nÄgra Är sedan blev jag inbjuden till förelÀsningar vid flera universitet av institutionerna för datavetenskap. NÀstan av en slump frÄgade jag mitt första auditorium, bestÄende av utexaminerade studenter, doktorander och professorer, hur de definierade "datavetenskap". Alla kunde bara ge en ingenjörsmÀssig definition. Jag gjorde detta pÄ varje nytt stÀlle, och överallt var resultaten liknande.
En annan frÄga var: "Vem var Douglas Engelbart?". Flera personer sa: "Var han inte pÄ nÄgot sÀtt kopplad till musen?" (och detta gjorde mig mycket besviken, eftersom mitt vetenskapliga samhÀlle har lagt ner mycket arbete för att svaret pÄ denna frÄga skulle kunna hittas efter tvÄ eller tre musklick och bekrÀfta att Engelbart verkligen var kopplad till musen).
Delen av problemet lÄg i bristen pÄ nyfikenhet, delvis i en snÀv personlig mÄlmedvetenhet som inte var kopplad till lÀrande, och delvis i en brist pÄ förstÄelse för vad denna vetenskap verkligen handlar om.
Jag har arbetat deltid vid datateknikavdelningen vid universitetet i Kalifornien i flera Är (i grunden Àr jag professor, men jag behöver inte delta i avdelningsmöten). Ibland hÄller jag kurser, ibland för förstaÄrselever. Under dessa Är har den redan lÄga nivÄn av nyfikenhet kring datavetenskap minskat avsevÀrt (men ocksÄ populariteten har ökat, eftersom datateknik ses som en vÀg till ett vÀlbetalt jobb om man kan programmera och fÄtt en examen frÄn en av de 10 bÀsta skolorna). Följaktligen har ingen student hittills klagat pÄ att det första sprÄket vid universitetet i Kalifornien Àr C++!
Jag tror att vi har stött pÄ en situation dÀr bÄde vÀrdena "Computer" och "Science" har blivit urvattnade av svaga, massiva koncept för att skapa en ny term - en slags etikett pÄ jeans - som lÄter bra men Àr tillrÀckligt tom. Relaterat till denna term, som pÄ liknande sÀtt har urvattnats, Àr "programvaruingenjör", som Äterigen inte anvÀnde de mest geniala idéerna frÄn "programmering" och "ingenjörskonst", utan bara sammanstÀllde dem (detta gjordes avsiktligt pÄ sextiotalet, dÄ termen skapades).
En av anledningarna till att faktiskt gÄ pÄ universitet Àr att gÄ bortom enkel yrkesutbildning och istÀllet hÄlla fast vid djupare idéer. Jag tycker att det Àr ganska rimligt att i introduktionen till Àmnet försöka - om möjligt, med hjÀlp av exempel - fÄ studenterna att arbeta med verkliga problem och börja förstÄ vad som faktiskt Àr intressant, viktigt och centralt inom detta omrÄde.
Förskolebarnen blir glada nÀr de ser hur en linjal ovanpÄ en annan linjal blir en rÀknemaskin, med vilken de kan övertrÀffa elever frÄn femte klass nÀr de lÀgger till en brÄkdel. Och de kommer sedan vara glada att delta i utvecklingen av förbÀttrade rÀknemaskiner. De har kommit i kontakt med en riktig dator - ett fysiskt och mentalt verktyg som hjÀlper oss att tÀnka. De har lÀrt sig en verkligen effektiv metod för att representera tal - mer effektiv Àn undervisningen i skolorna!
De lyckades koppla sin sunda idé om "addition" som "ackumulering" med nÄgot liknande med nya kraftfulla egenskaper. De programmerade det sÄ att det skulle kunna lösa olika problem.
De utökade det ocksÄ. Och sÄ vidare. Det hÀr Àr inte en digital dator. Och det Àr inte en dator med lagrad programvara. Men det Àr essensen av en dator. Precis som Àr det faktiskt essensen av datorer och berÀkningar.

Antikythera-mekanismen
Hur lĂ„ngt kan vi gĂ„ och hur mycket kan vi Ă„stadkomma innan allt gĂ„r ur kontroll, och vi förlorar oss i abstraktioner? Jag har alltid haft ett intresse för karaktĂ€ren av â den första mottagaren av Turingpriset, som möjligen myntade termen "Computer Science" â som pĂ„ 60-talet sa: "Computer Science Ă€r vetenskapen om processer". Om alla processer.
För Quoras skull, lÄt oss inte försöka driva det lÀngre eller göra det till en religiös dogm. LÄt oss helt enkelt lyckligt anvÀnda idén , för att tÀnka bÀttre pÄ vÄrt omrÄde. Och sÀrskilt om hur man lÀr ut detta. Nu behöver vi se pÄ den moderna betydelsen av "vetenskap", och Perliss var ganska sÀker pÄ att den inte bör spÀdas ut av gamla betydelser (t.ex. som "kunskapsinsamling") och anvÀndningar (exempelvis "biblioteksvetenskap" eller till och med "samhÀllsvetenskaper"). Under "vetenskap" försökte han förstÄ fenomenet genom att skapa modeller/kartor som försöker visa, "spÄra" och förutsÀga fenomen.

Jag har gett nÄgra intervjuer om hur de bÀsta kartorna och modellerna ofta kan passa för en t-shirt, som Maxwells ekvationer och andra. Analogin Àr att det finns en "vetenskap om broar", Àven om de flesta broar Àr skapade av mÀnniskor. Men sÄ snart bron Àr byggd, representerar den fenomen som forskare kan studera; frÄn broarna kan man göra modeller av mÄnga typer och utveckla omfattande och anvÀndbara "broteorier". Det roliga Àr att man sedan kan designa och bygga nya broar (jag har redan nÀmnt att det knappt finns nÄgot mer spÀnnande Àn samarbetet mellan forskare och ingenjörer för att lösa stora och viktiga problem!)

Herbert Simon â Turingpriskandidat och Nobelpristagare â kallade allt detta "vetenskapen om det artificiella" (och skrev en fantastisk bok med samma namn).

LĂ„t mig ge ett exempel. PĂ„ 50-talet byggde företag och universitet datorer med lagrad programvara och började programmera dem â och det fanns ett sĂ€rskilt ögonblick nĂ€r Fortran dök upp 1956 â som inte var det första hög-nivĂ„sprĂ„ket, men kanske det första som var sĂ„ vĂ€lgjort att det anvĂ€ndes inom mĂ„nga olika omrĂ„den, inklusive mĂ„nga som tidigare endast utfördes pĂ„ maskinsprĂ„k.
Allt detta gav upphov till "fenomenen".

John McCarthy
Historien om Lisp Àr mer komplicerad, men John McCarthy var intresserad av att försöka hitta en "matematisk teori för berÀkningar" och var fast besluten att fÄ allt att fungera utmÀrkt. Funktionen eval, som tolkar Lisp, gör sig lÀtt pÄ en T-shirt! JÀmfört med "programmeringssystem" Àr det obetydligt. Mer viktigt Àr att denna "berÀkningsteori" hade en mer kraftfull koncept Àn Fortran! Det var den bÀsta idén för en bro!
Lispens miniaturisering tillÄter hela tanken bakom programmering att fÄngas med ett par nedtryckningar pÄ en djupare nivÄ och att tÀnkas pÄ en nivÄ som verkar helt omöjlig nÀr man ser pÄ enorma artefakter (detta Àr en av anledningarna till att forskare Àlskar att matematik Àr kompakt och kraftfull). Matematiken som anvÀnds hÀr Àr ny matematik, eftersom den tillÄter begrepp som "före" och "efter", vilket leder till "logik av variabel storlek", som möjliggör bÄde funktionellt beroende och logiskt tÀnkande, samtidigt som den tillÄter tidens tillstÄnd och rörelse. (Detta Àr fortfarande inte förstÄtt i vÄr tid i den grymma vÀrlden av situationsprogrammering).
Som ett kraftfullt programmeringssprÄk och metaprogrammeringssprÄk som kan representera sin egen teori, Àr Lisp ett exempel pÄ verklig datavetenskap. Om du lÀr dig det och andra liknande saker kommer du att kunna tÀnka djupare och vara mer ansvarig för ditt eget öde Àn om du bara lÀrde dig att programmera i Fortran eller dess moderna motsvarigheter (⊠pÄ sÄ sÀtt kan du komma nÀra programmerarna!).
Du kommer att lÀra dig mycket mer om speciella typer av design som krÀvs i berÀkningar (till exempel vÀrderas det vanligtvis inte nÀr berÀkningar ofta krÀver att de gÄr utanför den berÀkningsmÀssiga miljön: en av de speciella egenskaperna hos lagrade programberÀkningar Àr att det inte bara Àr material för programmet, utan material för en helt ny dator).
En annan anledning att vĂ€lja Perliss definition Ă€r att berĂ€kning i allmĂ€nhet Ă€r mycket mer kopplat till skapandet av system av mĂ„nga slag Ă€n till algoritmer, "datastrukturer" eller till och med programmering i sig. Till exempel Ă€r en dator ett system, berĂ€kningar Ă€r system, ett lokalt nĂ€tverk och internet Ă€r system, och de flesta program bör representera mer effektiva system Ă€n de som de Ă€r (den gamla programmeringsstilen frĂ„n 50-talet har överlevt till den grad att det verkar som om programmering bör vara sĂ„ hĂ€r â inget kan vara mer lĂ„ngt ifrĂ„n sanningen).
Internet Ă€r ett bra exempel â till skillnad frĂ„n de flesta program idag, behöver internet inte stoppas för att Ă„tgĂ€rda eller förbĂ€ttra nĂ„got â det liknar mer ett biologiskt system â efter vĂ„r avsikt, Ă€n vad de flesta anser vara ett berĂ€kningssystem. Och det Ă€r mycket mer skalbart och tillförlitligt Ă€n nĂ€stan alla programvarusystem som finns idag. Det Ă€r verkligen vĂ€rt att tĂ€nka pĂ„ innan vi lĂ€r nybörjare i programmering mindre kraftfulla koncept!
SĂ„ vad vi behöver göra i den första kursen om datavetenskap, Ă€r att ta hĂ€nsyn till vad studenterna verkligen kan göra i början, och sedan försöka hĂ„lla oss inom deras "kognitiva belastning" för att hjĂ€lpa dem att nĂ„ det som verkligen Ă€r viktigt. Det Ă€r mycket viktigt att "förbli Ă€kta" och hitta sĂ€tt som Ă€r intellektuellt Ă€rliga och passar dem som just har pĂ„börjat sin utbildning. (VĂ€nligen lĂ€r inte ut dĂ„liga idĂ©er bara för att de verkar nĂ„got enklare â mĂ„nga dĂ„liga idĂ©er Ă€r faktiskt enklare!).
Studenter bör börja med att skapa nĂ„got som har mĂ„nga viktiga egenskaper som jag diskuterat hĂ€r. Det bör vara ett system av flera dynamiskt interagerande delar och sĂ„ vidare. Ett bra sĂ€tt att avgöra vilket programmeringssprĂ„k som bör anvĂ€ndas Ă€r att helt enkelt göra nĂ„got som har tusentals interagerande delar! Om inte, bör du hitta ett sĂ„dant. Det vĂ€rsta du kan göra Ă€r att sĂ€tta studenter pĂ„ en vĂ€g av för svag flytande som kraftigt skulle begrĂ€nsa storskaliga idĂ©er. Det dödar dem helt enkelt â och vi vill odla dem, inte döda dem.
Om GoTo-skolan

- 17-30 juni, 15-28 juli, 12-25 augusti
KĂ€lla: habr.com
