Një nga arsyet për të studiuar në universitet është të dalësh përtej trajnimit të thjeshtë profesional dhe të kapësh idetë më të thella.

Le të mendojmë pak për këtë çështje. Disa vite më parë, departamentet e Shkencave Kompjuterike më ftuan për leksione në disa universitete. Në mënyrë të rastësishme, e pyesa audiencën time të parë, përbërë nga studentë të vitit të fundit, doktorantë dhe profesorë, për përkufizimin e "Shkencës Kompjuterike". Të gjithë ofruan vetëm një përkufizim inxhinierik. E kam bërë këtë në çdo vend të ri, dhe përgjigjet ishin të ngjashme kudo.
Një tjetër pyetje ishte: "Kush është Douglas Engelbart?". Disa njerëz thanë: "a nuk ishte ai i lidhur me mausin e kompjuterit?" (dhe kjo më shqetësoi shumë, pasi komuniteti im shkencor kishte bërë shumë përpjekje që përgjigja të mund të gjendej pas dy-tre klikimesh me maus dhe të siguroheshim se Engelbart ishte vërtet i lidhur me mausine e kompjuterit).
Pjesërisht, problemi ishte mungesa e kuriozitetit, pjesërisht qëllimet e ngushta personale që nuk ishin të lidhura me mësimin, dhe gjithashtu mungesa e një ideje se çfarë përfshinte kjo shkencë, e kështu me radhë.
Kam punuar me kohë të pjesshme në departamentin e inxhinierisë kompjuterike të Universitetit të Kalifornisë për disa vjet (në thelb jam profesor, por nuk më nevojitet të shkoj në mbledhjet e departamentit). Periodikisht mbaj leksione, ndonjëherë me studentë të vitit të parë. Gjatë këtyre viteve, niveli i ulët i kuriozitetit për Shkencën Kompjuterike është ulur ndjeshëm (por gjithashtu është rritur popullariteti, pasi inxhinieria kompjuterike konsiderohet si një rrugë për punë të mirëpaguara, nëse di të programosh dhe merr një certifikatë nga shkollat më të mira). Prandaj, asnjë student nuk ka ankuar ende që gjuha e parë në Universitetin e Kalifornisë është C++!
Më duket se kemi përballë një situatë ku të dy termat «Computer» dhe «Science» janë shkatërruar nga konceptet e dobëta masive për të krijuar një term të ri — një lloj etikete në xhinse — që tingëllon mirë, por është mjaft bosh. Një term tjetër i lidhur, i cili ishte gjithashtu shkatërruar, është «inxhinieria e programimit», e cila, përsëri, nuk përdori idetë më brilante të «programimit» dhe «inxhinierisë», por thjesht i kombinonte ato (kjo u bë qëllimisht në vitet '60, kur u shpik termi).
Një nga arsyet për të bërë regjistrimin në universitet është për të dalë nga përgatitja e thjeshtë profesionale dhe në vend të kësaj për të kapur ide më të thella. Më duket mjaft e arsyeshme që për hyrjen në specialitet të mundohemi — nëse është e mundur, me ndihmën e shembujve — që nxënësit të përfshihen në probleme reale dhe të fillojnë të kuptojnë se çfarë është, në të vërtetë, interessante, e rëndësishme dhe qendrore në këtë fushë.
Nxënësit e klasës së parë gëzohen kur u tregohet se si një rregullore mbi një tjetër rregullore bëhet një aritmetar, me të cilin ata mund të tejkalojnë fëmijët e klasës së pestë kur shtojnë pjesët fraksionare. Dhe pastaj ata do të jenë të lumtur të marrin pjesë në zhvillimin e aritmetarëve të përmirësuar. Ata e preku një kompjuter të vërtetë — një mjet fizik dhe mendore që na ndihmon të mendojmë. Ata u mësuan një mënyrë realisht efektive për të paraqitur numrat — më efektive se si mësohet në shkolla!
Ata arritën të lidhin idenë e tyre të shëndoshë «shtimit» si «akumulim» me diçka të ngjashme me veçori të reja të fuqishme. Ata e programuan atë në mënyrë që të ishte në gjendje të zgjidhte një mori problemesh.
Ata gjithashtu e zgjeruan atë. Dhe kështu me radhë. Kjo nuk është një kompjuter digjital. Dhe nuk është një kompjuter me program të kujtueshëm. Por kjo është qendra e kompjuterit. Pikërisht ashtu si — kjo është mbi të gjitha qendra e kompjuterit dhe llogaritjeve.

Mekanizmi antikiteras
Sa larg mund të arrijmë dhe sa shumë mund të bëjmë para se gjithçka të dalë jashtë kontrollit dhe ne të humbasim në abstraksione? Unë gjithmonë kam qenë i interesuar për karakterizimin e — laureati i parë i çmimit Turing, i cili ndoshta shpiku termin «Computer Science» — ai, në vitet '60, tha: «Shkenca e Kompjuterëve është shkenca e proceseve». Të gjitha proceseve.
Për shkak të kompanisë Quora, le të mos përpiqemi ta çojmë këtë më tej ose ta kthejmë në një dogmë fetare. Le të përdorim thjesht me gëzim idenë. , për të menduar më mirë për fushën tonë. Dhe sidomos për mënyrën si ta mësojmë atë. Tani na nevojitet të shikojmë kuptimin modern të «shkencës», dhe Perlis ishte mjaft i sigurt se ajo nuk duhet të hollohet me kuptime të vjetra (për shembull, si «mbledhje njohurish») dhe përdorime (për shembull, «bibliotekari» ose madje «shkencat sociale»). Me «shkencë» ai përpiqej të kuptonte fenomenin, duke krijuar modele/hartat që përpiqeshin të tregonin, «ndiqnin» dhe parashikonin fenomenet.

Kam dhënë disa intervista për mënyrën se si mapat dhe modelet më të mira shpesh mund të përshtaten për një bluzë, ashtu siç përshtaten ekuacionet e Maxwell-it dhe të tjerat. Analogjia është se ekziston një «shkencë mbi urat», megjithëse shumica e urave janë të ndërtuara nga njeriu. Por sapo ura është ndërtuar, ajo përfaqëson fenomenet, shkencëtarët mund t'i studiojnë këto, nga urat është e mundur të krijohen modele të shumë llojeve dhe të formohen «teori urash» gjithëpërfshirëse dhe të dobishme. Argëtimi është se pastaj mund të projektohen dhe ndërtohen ura të reja (kam përmendur tashmë se ndoshta nuk ka asgjë më argëtuese se bashkëpunimi i shkencëtarëve dhe inxhinierëve për të zgjidhur probleme të mëdha dhe të rëndësishme!)

Herbert Simon — fitues i çmimit Turing dhe çmimit Nobel — e quajti tërë këtë «shkencat e artificialeve» (dhe shkroi një libër të shkëlqyer me të njëjtin titull).

Le të jap një shembull. Në vitet '50, kompanitë dhe universitetet po ndërtisinin kompjuterë me program të ruajtur dhe filluan t'i programonin ata — dhe ishte një moment i veçantë kur në vitin 1956 u shfaq Fortran — i cili nuk ishte gjuha e parë e lartë, por ndoshta e para që është bërë mjaft mirë, për t'u përdorur në shumë fusha të ndryshme, duke përfshirë shumë që më parë ishin bërë vetëm në gjuhën makinerike.
E gjithë kjo krijoi «fenomene».

John McCarthy
Historia e Lisp është më e ndërlikuar, por John McCarthy ishte i interesuar për përpjekjen për të gjetur "teorinë matematikore të llogaritjeve" dhe ishte i vendosur ta bënte të funksiononte shkëlqyer. Funksioni eval, i cili interpreton Lisp, mund të vendoset lehtësisht në një bluzë! Në krahasim me "sistemin e programimit" - kjo është e papërfillshme. Më e rëndësishmja, kjo "teori llogaritjesh" kishte një koncept më të fuqishëm se Fortran-i! Kjo ishte ideja më e mirë e urës!
Miniaturizmi i Lisp-i lejon që e gjithë ideja e programimit të kapet me disa goditje në një nivel më të thellë dhe të mendohet në një nivel që duket thjesht e pamundur, kur shikon artefaktet e mëdha (kjo është një nga arsyet pse shkencëtarët e duan matematikën të jetë kompakte dhe të fuqishme). Shkenca e përdorur këtu është matematikë e re, pasi lejon koncepte si "para" dhe "pasi", dhe kjo çon në "logjikën e variablave të ndryshueshëm", e cila lejon ruajtjen e varësisë funksionale dhe logjikës, gjithashtu duke lejuar gjendjen dhe kalimin e kohës. (Kjo ende nuk kuptohet në kohën tonë në botën e ashpër të programimit situativ).
Lisp, duke shërbyer si një gjuhë programimi të fuqishme dhe meta-gjuhë që është e aftë të paraqesë teorinë e saj, është një shembull i vërtetë i shkencës kompjuterike. Nëse e mësoni atë dhe gjëra të ngjashme, do të jeni në gjendje të mendoni më thellë dhe të keni më shumë përgjegjësi për fatin tuaj, sesa nëse do të kishit mësuar thjesht të programoni në Fortran ose ekuivalentët e tij modernë (… kështu do të afroheni me programuesit!).
Do të mësoni shumë më tepër rreth llojeve speciale të dizajnit që janë të nevojshme në llogaritje (për shembull, zakonisht nuk vlerësohet kur llogaritjet shpesh kërkojnë të dalin përtej mjedisit të llogaritjes: një nga karakteristikat speciale të llogaritjeve me programe të ruajtura është se kjo nuk është thjesht material për një program, por material për një kompjuter tërësisht të ri).
Një tjetër arsye për të zgjedhur përcaktimin e Perlës është se, në përgjithësi, llogaritja është shumë më e lidhur me krijimin e sistemeve të shumëllojshme sesa me algoritmet, "strukturat e të dhënave" ose edhe programimin si i tillë. Për shembull, një kompjuter është një sistem, llogaritjet janë sisteme, rrjeti lokal dhe interneti janë sisteme, dhe shumica e programeve duhet të paraqesin sisteme më të mira se ato që janë (stili i vjetër i programimit nga vitet '50 ka zgjatur deri në një pikë që duket se programimi duhet të jetë kështu — nuk ka gjë më të largët nga e vërteta).
Internet është një shembull i mirë — për dallim nga shumica e programeve në ditët e sotme, interneti nuk duhet të ndalet për të riparuar ose përmirësuar ndonjë gjë — ai është më shumë si një sistem biologjik — sipas qëllimit tonë, sesa ajo që shumica e njerëzve e kanë menduar si një sistem llogaritës. Dhe ai është shumë më i shkallëzueshëm dhe i besueshëm se pothuajse të gjitha sistemet programore që ekzistojnë sot. Kjo vërtet meriton të mendohet para se të mësojmë fillestarët në programim me këto koncepte të pafuqishme!
Pra, ajo që duhet të bëjmë në kursin e parë të Shkencës Kompjuterike është të marrim parasysh se çfarë konkretisht studentët mund të bëjnë në fillim, dhe pastaj të përpiqemi të qëndrojmë brenda "ngarkesës së tyre njohëse", për t'i ndihmuar ata të arrijnë atë që është vërtet e rëndësishme. Është shumë e rëndësishme "të qëndrosh autentik" dhe të gjejmë rrugë që janë intelektualisht të ndershme dhe u përshtaten atyre që sapo kanë filluar studimet. (Ju lutemi, mos e mësoni idetë e këqija vetëm sepse ato duken pak më të thjeshta — shumë ide të këqija në fakt janë më të thjeshta!).
Studentët duhet të fillojnë duke krijuar diçka që ka shumë karakteristika të rëndësishme, të cilat i kam diskutuar këtu. Kjo duhet të jetë një sistem i disa pjesëve që ndërveprojnë dinamikisht etj. Një mënyrë e mirë për të vendosur se cilin gjuhë programimi duhet të përdorni, është thjesht të bëni diçka që ka mijëra pjesë që ndërveprojnë! Nëse jo, atëherë duhet të gjeni një të tillë. Më e keqja që mund të bëni, është të vendosni studentët në një rrugë të tepër të dobët që do të kufizonte shumë idetë në masë. Kjo thjesht i vret ata - ndërsa ne duam t'i rritim, jo t'i vrasim.
Rreth shkollës GoTo

- 17-30 qershor, 15-28 korrik, 12-25 gusht
Burimi: habr.com
