Programmeerimise õpetamise areng Eestis ja mujal (kuni 1990)
Sissejuhatuseks
Käesolev materjal ei pretendeeri kaugeltki olema igakülgne ja põhjalik ülevaade programmeerimise õpetamisest aegade jooksul. Pigem on toodud välja mõned aspektid ja seigad. Kuigi juttu on ka ülikoolist, on eelkõige fookuses kool. Peamiselt on kirjas Eestiga seonduv, aga mõnevõrra on seda püütud panna üldisesse konteksti. Tekstis on lingid videotele, millest osa võiks olla tulevikus ka teksti kujul.
Huvitav on just see, et mitmed probleemid ja olukorrad on ilmnenud teatud erinevustega korduvalt. Nii saame vast olnut teades tulevikus paremini hakkama. Ehk siis, kes minevikku ei mäleta, elab tulevikuta (Juhan Liiv).
Programmeerimine on võrreldes paljude teiste distsipliinidega üsna uus. Ei ole seda näiteks niikaua ju koolides ja ülikoolides õpetatud kui matemaatikat, füüsikat, keemiat, bioloogiat või teisi reaal- ja loodusteadusi. Samas on programmeerimist siiski juba aastakümneid õpetatud.
Algus
Programmeerimise enda lugu saab (vähemalt osade ajaloolaste arvates) alguse 1842. aastal, mil Ada Lovelace kirjeldas detailselt, kuidas masin võiks arvutada Bernoulli arve. Seda masinat ennast aga tol ajal veel polnud ja ka programmeerimise õpetamisest ei ole tollest ajastust midagi rääkida. Sadakond aastat hiljem olid juba mõnedki seadmed, mida saab arvutiks nimetada, näiteks Suurbritannias Bombe (1939), millega murti lahti Enigma kood, ning Colossus (1943), mida samuti kasutati krüptoanalüüsiks. 1946. aastal pandi Pennsylvania Ülikoolis tööle üldotstarbeline arvuti ENIAC. Niisiis tasapisi arvutite arv suurenes ja oli vaja rohkem inimesi, kes neid kasutada oskaks — oskaks programmeerimist. Nii alustati ülikoolides programmeerimise kursustega. Nõukogude Liidus toimus esimese programmeerimiskursus Moskva Ülikoolis 1952/53. õppeaastal.
Eestis alustas programmeerimise õpetamisega professor Ülo Kaasik 1959. aastal Tartu Ülikoolis. See juhtus kursuse “Kaasaegse algebra täiendavaid peatükke” raames, kuna üleliiduliselt kinnitatud valikkursuste nimekirjas programmeerimise kursust veel polnud. Eesti kooli jõudis programmeerimine 1962. aastal, mil Ülo Kaasik õpetas seda Tartu 1. Keskkoolis (praegu Hugo Treffneri Gümnaasium) esimeses matemaatika eriklassis. Õpilaste hulgas oli ka hilisem Tartu Ülikooli õppejõud Anne Villems, kelle meenutusi saab kuulda järgmnevas vestluses:
Esimesed minutid räägibki Anne nondest aegadest. Võite kohe kuulata ka video lõpuni, kuigi siin materjalis tuleb hilisematest aegadest juttu hiljem. Võite veel hoopis pikalt Anne mõtteid ja meenutusi kuulata järgnevas vestluses:
Anne meenutas, et tol ajal programmeeriti masinkoodis. Tegelikult olid maailmas olemas ka juba kõrgtasemekeeled (nt Fortran (1957), Algol (1958), Cobol (1959), mille kasutuselevõtt muutis programmeerimise mugavamaks ja seda sai paremini natuke laiemalegi auditooriumile õpetada. Siiski ei olnud nende keelte puhul mõeldud sellele, et neid lihtne õppida oleks. Just algajaid silmas pidades loodi programmeerimiskeel BASIC (Beginner's All-purpose Symbolic Instruction Code, 1964). Samas on BASIC ikkagi n-ö päriskeel, sellega programmeeriti ka tööstuslikult. Sihilikult (eelkõige lastele) õppimiseks-õpetamiseks töötati välja programmeerimiskeel LOGO (1968), mille iseloomulikuks osaks on kilpkonnagraafika.
Tegelikult saab programmeerimiskeeli tänapäevalgi tinglikult jaotada õppimise-õpetamise mõttes samal skaalal. On keeli (nt Java, C, C++), mida kasutatakse tööstuslikult palju, aga (vähemalt paljudele) nad ei ole eriti sobivad esimeseks keeleks. Mitmetes ülikoolides ja koolideski siiski on need esimese keelena kasutusel. Kui õppijad sellega toime tulevad, siis pole mingit probleemi. Teised ülikoolid ja koolid eelistavad esimesena keelena keeli (nt Python), mida kasutatakse ka üsna laialdaselt tööstuslikult, aga mille õppimine on algajale lihtsam. Kolmanda rühma moodustavad keeled (nt Scratch), mis on praktiliselt ainult hariduslikuks eesmärgiks kasutusel.
Pärast ekskurssi tänapäeva tuleme siiski tagasi ajaloo juurde. 1960. ja 70. aastatel õpetati Eestis programmeerimist ülikoolis teatud erialadel (nt matemaatika) ning suhteliselt vähestele õpilastele mõnede koolide eriklassides. Enam-vähem sama olukord oli mujal tollases Nõukogude Liidus, mujal nii sotsialismi kui ka kapitalismi leeris, kui tollastes terminites väljendada.
Arvuteid oli aga järjest rohkem ning visionäärid levitasid mõtet, et tulevikus peaks iga inimene oskama arvutit kasutada. Arvuti kasutamine tähendas siis eelkõige programmeerimist ja nii näiteks nimetatigi Nõukogude Liidus programmeerimist teiseks kirjaoskuseks. Kuna arvuteid koolides siiski nappis, siis püüti teist kirjaoskust arendada ka ilma arvutil programmeerimata.
Juba laiemalt
1980. aastatel oli arvuteid juba rohkem ja neid hakkas jõudma mitmetesse koolidesse. Toonasest olukorrast on juttu vestluses Anne Villemsiga (alates 4. minutist) ning vestluses Tallinna Ülikooli vanemteadur Mart Laanperega (video algusest).
Ka Mardi video võite soovi korral kohe lõpuni kuulata või hoopis pika variandiga tutvuda.
Esialgu oli ka koolides programmeerimine arvutikasutuses põhiline, aga kuna arvutiga sai juba muudki teha (nt tekste toimetada, tabeleid töödelda), siis ei olnud aktuaalne kõigile just programmeerimist teise kirjaoskusena pakkuda. Tekkis küsimus, et mida ja kui palju üldse koolis (kohustuslikuna?) arvutitega seonduvalt õpetama peaks. See küsimus on teravalt aktuaalne tänaseni.
Arvuteid juba mõnevõrra oli ja programmeerimishuvilisi noori ka. Nii toimub 1988. aastast alates informaatikaolümpiaad, kus tuleb lahendada programmeerimisülesandeid. 1988. aastal hakati Eestis (täpsemalt Narvas) tootma just koolidele mõeldud arvuteid Juku.