„Jedan od razloga zašto se zapravo prijaviti na sveučilište jest da se nadmaši jednostavna profesionalna priprema i umjesto toga uhvatiti se u koštac s dubljim idejama."

Pogledajmo malo ovu temu. Prije nekoliko godina, odjeli računalnih znanosti pozvali su me da održim predavanja na nekoliko sveučilišta. Gotovo slučajno, upitao sam svoju prvu publiku, koja se sastojala od završnih studenata, postdiplomaca i profesora, njihovo mišljenje o definiciji „računalne znanosti“. Svi su mogli dati samo inženjersku definiciju. Ovo sam ponavljao na svakoj novoj lokaciji, i rezultati su bili slični svuda.
Drugo pitanje bilo je: „Tko je Douglas Engelbart?“. Nekoliko ljudi je reklo: „zar nije bio nekako povezan s računalnom mišlju?“ (i to me jako razočaralo, budući da je moja znanstvena zajednica uložila puno truda kako bi se na to pitanje moglo odgovoriti nakon dva do tri klika mišem i osigurati da je Engelbart zaista bio nekako povezan s računalnom mišlju).
Djelomično je problem ležao u nedostatku znatiželje, dijelom u uskim osobnim ciljevima koji nisu bili povezani s učenjem, djelomično u nedostatku razumijevanja što ta znanost zapravo predstavlja, i tako dalje.
Radim pola radnog vremena na Katedri za računalne znanosti Sveučilišta Kalifornija već nekoliko godina (u suštini sam profesor, ali ne moram ići na sjednice katedre). Povremeno održavam predavanja, ponekad prvašima. Tijekom ovih godina, i onako nizak nivo znatiželje prema računalnim znanostima značajno je opao (ali je razina popularnosti porasla, jer se računalne znanosti vide kao put do dobro plaćenog posla, ako znate programirati i stekli ste certifikat na nekој od najboljih 10 škola). Prema tome, nijedan student se još nije požalio da je prvi jezik na Sveučilištu Kalifornija C++!
Čini mi se da smo se suočili sa situacijom u kojoj su oba pojma 'Računar' i 'Nauka' razbijena slabim masivnim konceptima kako bi se stvorila nova oznaka — neka vrsta etikete na farmerkama — koja zvuči dobro, ali je dovoljno prazna. Srodni termin, koji je na sličan način razbijen, 'softversko inženjerstvo', koji opet nije koristio najsjanije ideje 'programiranja' i 'inženjerstva', već ih je jednostavno kombinovao (to je namerno učinjeno šezdesetih godina kada je termin skovan).
Jedan od razloga da se zapravo upišete na fakultet je da pređete izvan jednostavne profesionalne obuke i umesto toga uhvatite dublje ideje. Čini mi se prilično razumnim za uvod u struku pokušati — ako je moguće, uz pomoć primera — učiniti tako da učenici rešavaju stvarne probleme i počnu shvatati šta je zapravo zanimljivo, važno i centralno u ovoj oblasti.
Prvaci se raduju kada im pokažu kako se lenjir preko drugog lenjira pretvara u aritmetički uređaj, uz pomoć kojeg mogu da nadmaše petake u dodavanju decimalnog dela. A zatim će rado učestvovati u razvoju unapređenih aritmetičkih uređaja. Dotakli su se pravog računara — fizičkog i mentalnog alata koji nam pomaže da razmišljamo. Naučili su zaista efikasan način predstavljanja brojeva — delotvorniji od onoga što se uči u školama!
Uspešno su povezali njihovu zdravu ideju 'dodavanja' kao 'nakupljanja' s nečim sličnim novim moćnim svojstvima. Programirali su ga tako da može da rešava raznovrsne probleme.
Takođe su ga proširili. I tako dalje. Ovo nije digitalni računar. I to nije računar s memorisanim programom. Ali ovo je suština računara. Baš kao — to je u stvari suština računara i proračuna.

Antikiteranski mehanizam
Koliko daleko možemo otići i koliko toga možemo učiniti pre nego što sve izmakne kontroli i izgubimo se u apstrakcijama? uvek me je zanimalo obeležje — prvog laureata Turingove nagrade, koji je možda smislio termin "Računalne znanosti" — koji je 60-ih godina rekao: "Računalne znanosti su znanost o procesima". Sve u procesima.
Radi kompanije Quora, hajde da ne pokušavamo ovo dodatno tjerati ili pretvarati u religijsku dogmu. Jednostavno se radujmo ideji. , kako bismo bolje razmišljali o našem području. A posebno o tome kako to podučavati. Sada trebamo pogledati moderno značenje "znanosti", a Perlis je bio prilično siguran da se to ne bi smjelo razvodniti starim značenjima (na primjer, "prikupljanjem znanja") i upotrebama (kao što je "knjigovodstvo" ili čak "društvene znanosti"). Pod "znanosti" pokušao je razumjeti fenomen stvarajući modele/mape koje pokušavaju pokazati, "pratiti" i predvidjeti fenomena.

Dao sam nekoliko intervjua o tome kako najbolje karte i modeli često mogu odgovarati na majici, kao što odgovaraju Maxwellovim jednadžbama i drugima. Analogija leži u tome što postoji "znanost o mostovima", iako su većinu mostova izgradili ljudi. No, kada je most izgrađen, prikazuje fenomene, znanstvenici ih mogu proučavati, iz mostova se mogu izraditi modeli mnogih vrsta i formulirati sveobuhvatne i korisne "teorije mostova". Zabava je u tome što se zatim mogu projektirati i izgraditi novi mostovi (već sam spomenuo da vjerojatno nema ničega zabavnijeg od suradnje znanstvenika i inženjera na rješavanju velikih i važnih problema!).

Herbert Simon — dobitnik Turingove nagrade i Nobelove nagrade — nazvao je sve to "znanostima o umjetnom" (i napisao prekrasnu knjigu s istim naslovom).

Dozvolite mi da navedem primjer. 50-ih godina, kompanije i sveučilišta gradila su računala s pohranjenim programima i počela ih programirati — bilo je posebno trenutak kada je 1956. godine došao Fortran — koji nije bio prvi jezik visokog nivoa, ali, možda, prvi koji je bio napravljen dovoljno dobro da se koristi u mnogim različitim područjima, uključujući mnoge koje su ranije bile rađene samo na strojnom jeziku.
Sve to je proizvelo "fenomene".

John McCarthy
Povijest Lispa je složenija, no John McCarthy bio je zainteresiran za pokušaj pronalaska "matematičke teorije izračuna" i bio je odlučan učiniti da sve funkcionira savršeno. Funkcija eval, koja interpretira Lisp, lako se može ispisati na majici! U usporedbi s "programskim sustavom" — to je beznačajno. Što je još važnije, ova "teorija izračuna" imala je moćniju koncepciju od Fortrana! Ovo je bila najbolja ideja mosta!
Minijaturizacija Lispa omogućuje da cijela ideja programiranja bude shvaćena putem nekoliko pritisaka na dubljoj razini i promišljena na razini koja se čini jednostavno nemogućom kada gledate na ogromne artefakte (to je jedan od razloga zašto znanstvenici vole da matematika bude kompaktna i moćna). Matematika korištena ovdje je nova matematika, jer dopušta pojmove poput "prije" i "poslije", što dovodi do "logike varijabilne veličine", koja omogućuje očuvanje i funkcionalne ovisnosti i logičkog toka misli, dok istovremeno dopušta mjesto i protok vremena. (Ovo još uvijek nije shvaćeno u naše vrijeme u okrutnom svijetu situacijskog programiranja).
Lisp, djelujući kao moćan programski jezik i metajezik koji može predstaviti svoju vlastitu teoriju, primjer je prave računalne znanosti. Ako ga naučite i druge slične stvari, moći ćete dublje razmišljati i imati veću odgovornost za svoju vlastitu sudbinu nego da ste samo naučili programirati u Fortranu ili njegovim modernim ekvivalentima (… tako ćete se moći približiti programerima!).
Saznat ćete mnogo više o posebnim vrstama dizajna koje su potrebne u izračunima (na primjer, obično nije cijenjeno kada izračuni često zahtijevaju izlazak iz okvira izračunavalne okoline: jedna od posebnih karakteristika pohranjenih programskih izračuna je da to nije samo materijal za program, već materijal za potpuno novo računalo).
Drugi razlog za odabir Perlisa je taj što je općenito računarstvo više povezano s kreiranjem sustava raznih tipova nego s algoritmima, "strukturama podataka" ili čak samim programiranjem. Na primjer, računalo je sustav, računski procesi su sustavi, lokalna mreža i internet su sustavi, a većina programa trebala bi predstavljati bolje sustave nego što to trenutno jesu (stari stil programiranja iz 50-ih godina traje toliko dugo da se čini kao da programiranje mora biti takvo — ništa nije dalje od istine).
Internet je dobar primjer — za razliku od većine današnjih programa, internet nije potrebno zaustaviti da bi se popravila ili unaprijedila bilo koja komponenta — više je nalik biološkom sustavu nego onome što većina ljudi smatra računalnim sustavom. I daleko je skalabilniji i pouzdaniji od gotovo svih postojećih softverskih sustava. Doista vrijedi razmisliti o tome prije nego što učimo novake u programiranju nekim slabijim konceptima!
Dakle, što bismo trebali učiniti na prvom kolegiju iz Računalnih Znanosti, jest uzeti u obzir što točno studenti mogu raditi na samom početku, a zatim pokušati ostati unutar njihovog "kognitivnog opterećenja" kako bismo im pomogli da dođu do onoga što je zaista važno. Izuzetno je važno "ostati vjeran" i pronaći načine koji su intelektualno pošteni i odgovaraju onima koji tek započinju s učenjem. (Molimo vas, nemojte podučavati lošim idejama samo zato što se čine malo jednostavnijima — mnoge loše ideje zapravo su jednostavnije!)
Studenti trebaju početi s kreiranjem nečega što bi imalo mnoge važne karakteristike o kojima sam ovdje govorio. To bi trebao biti sustav s više dinamički interaktivnih dijelova i tako dalje. Dobar način da odaberete koji programski jezik koristiti je jednostavno napraviti nešto što ima tisuće interakcija! Ako to nije slučaj, trebate pronaći takvo. Najgore što možete učiniti je staviti studente na put prevelike slobode koja bi značajno ograničila njihove velikodušne ideje. To ih jednostavno ubija — a mi ih želimo razvijati, a ne ubijati.
O školi GoTo

- 17-30 lipnja, 15-28 srpnja, 12-25 kolovoza
Izvor: habr.com
