Eksam
Mõned videod on siin vanemad. Nad kehtivad ka selle aasta eksami kohta, kuid võib esineda pisikesi erinevusi klasside asukohtades. Go to class (Ctrl+N) või Go to file (Ctrl+Shift+N) käskudega leiab need kergesti üles.
Eksam koosneb viiest ülesandest. Praktiline osa koosneb tegelikult ainult ühest suurest ülesandest "Kirjuta etteantud keele jaoks interpretaator ja kompilaator", aga me tükeldame seda ülesannet eraldi testitavateks juppideks. Natuke pikemalt selle kohta on meie eksamit tutvustavas videos.
- Alusosa: Avaldispuu väärtustamine (15p).
- Seotud loengud: Puu läbimine visitoriga. (Mõnele on abiks näha, kuidas ise teha neid AST klasse).
- Alusaosa eriloeng: alusosa näidete lahendamine.
- Põhiosa: Formaalse keele töötlemine ANTLRiga (15p).
- Seotud loengud: ANTLRi tutvustus & ASTi loomine.
- Põhiosa eriloeng: põhiosa näidete lahendamine.
- Lõviosa: Koodi genereerimine (10p).
- Seotud loengud: CMa ülevaade ja CMa praktikum (CMa käsustik, vam.jar).
- Lõviosa eriloeng: lõviosa näidete lahendamine.
Lisaks on seal võimalik punkte teenida oma teoreetiliste teadmistega:
- Quiz: Moodle'i teooriatest (20p).
- JFLAP: Automaatide joonistamine (10p).
- Seotud video: Automaatide ühend ja ühisosa.
- Lisaloeng: Järjest JFlapiga lahendamine.
Eksami praktilise osa harjutused ja näited
Eksami praktiline osa formaat on fikseeritud. Samu asju tuleb teha, aga implementeeritav näidiskeel muutub. Meie näidiskeelte kirjeldused on siin koos, aga me lahendame neid juppide kaupa. Kõigepealt nende alusosad, siis põhiosad ja lõpuks lõviosad.
- Imp, lihtne imperatiivne keel.
- Bolog, pisike loogilise programmeerimise keel.
- Parm, paralleelkomponeerimise mikrokeel.
- Hulk, uskumatu hulgatöötlusekeel.
- Dialoog, dialektiline tingimuskeel.
- Pullet, puhas let-sidumistega keel.
Mõnedel näidiskeeltel on olemas ka meistriosa. Need on suurepärased ülesanded tõelistele meistritele niisama harjutamiseks. Ma saan aru, kui olete kõik viimseni pettunud, et eksamil ühtegi sellist uut ja üllatavat ülesannet ei tule... Eksamil tuleb ülalolevate näidistega sarnased keeled, kuhu on lisatud väike variatsioon. Proovieksami keeleks on Estolog ja iseseisvaks lahendamiseks on eelmise aastate eksamite keeled, mille kirjeldused on kursuse repositooriumis (paketis toylangs):
- Sholog, tõeväärtusavaldiste šokeeriv väärtustamine.
- Safdi, nulliga jagamist salliv keel.
- Modul, modulaarse aritmeetika keel.
- Vhile, väga tsükliliste konstruktsioonide keel.
Kuidas eksamiks õppida?
Eksamiks tuleb harjutada, sest see moodustab väga suure osa hindest. Me üritame muidugi semestri jooksul teid just eksamiks ette valmistada!
- Me teeme loengus kolm sellist proovieksamit, kus harjutame esimest, teist ja kolmandat ülesannet eraldi.
- Siin lehel on palju eksami näidisharjutusi ja viimased on eelmise aasta eksamid. Hea oleks mingil tasmel kõikide näidetega tutvuda ja iseseisvalt need viimased ära lahendada.
- Me paneme iga kodutöö juurde ka kirja, kas see on eksami harjutamiseks oluline või mitte.
- Teooria osa kohta harjutame iga nädal, aga lisaks on viimane kordamistest selline, kus on kõik küsimused uuesti sees. See jääb siis lahti semestri lõpuni.