Automaadid, keeled, translaatorid

Seotud dokumendid
Sissejuhatus Informaatikasse Margus Niitsoo

loeng7.key

IFI6083_Algoritmid_ja_andmestruktuurid_IF_3

E-õppe ajalugu

Slide 1

Tartu Ülikool

Pealkiri

Abiarstide tagasiside 2016 Küsimustikule vastas 137 tudengit, kellest 81 (60%) olid V kursuse ning 56 (40%) VI kursuse tudengid. Abiarstina olid vasta

Kursuseprogramm IFI6054 Agiilne tarkvaraarendus 3 EAP Kontakttundide maht: 28 Õppesemester: K Eksam Eesmärk: Aine lühikirjeldus: (sh iseseisva töö sis

Õppimine Anne Villems, Margus Niitsoo ja Konstantin Tretjakov

loeng2

Mida me teame? Margus Niitsoo

Microsoft Word - ref - Romet Piho - Tutorial D.doc

E-õppe ajalugu

ДЕЛОВОЕ ОБЩЕНИЕ

Algoritmid ja andmestruktuurid

SAF 7 demo paigaldus. 1.Eeldused SAF 7 demo vajab 32- või 64-bitist Windows 7, Window 8, Windows 10, Windows Server 2008 R2, Windows Server 2012, Wind

1 / loeng Tekstitöötlus Sisend/väljund Teksti lugemine Sõnad

KUULA & KORDA INGLISE KEEL 1

Õppematerjalide esitamine Moodle is (alustajatele) seminar sarjas Lõunatund e-õppega 12. septembril 2017 õppedisainerid Ly Sõõrd (LT valdkond) ja Dian

Programmeerimiskeel APL Raivo Laanemets 17. mai a.

E-õppe ajalugu

Operatsioonisüsteemi ülesanded

IT infrastruktuuri teenused sissejuhatav loeng 00

Infix Operaatorid I Infix operaatorid (näiteks +) ja tüübid (näiteks ->) kirjutatakse argumentide vahele, mitte argumentide ette. Näiteks: 5 + 2, 2*pi

DVD_8_Klasteranalüüs

PowerPoint Presentation

Funktsionaalne Programmeerimine

E-õppe tehnoloogiad kõrgkoolis E-learning Technologies in Higher Education MTAT

PowerPointi esitlus

PowerPoint Presentation

Õppekava arendus

MTÜ Iseseisev Elu tugikeskuste tegevused

Skriptimiskeeli, mida ei käsitletud Perl Python Visual Basic Script Edition (VBScript) MS DOS/cmd skriptid Windows PowerShell midagi eksootilisemat: G

3D mänguarenduse kursus (MTAT ) Loeng 3 Jaanus Uri 2013

Kuidas hoida tervist töökohal?

Kinnitatud 09. märtsil 2018 direktori käskkirjaga nr Muraste Kooli hindamisjuhend 1. Hindamise alused 1.1. Õpilaste hindamise korraga sätestatak

Pealkiri

PowerPoint Presentation

Projekt Kõik võib olla muusika

Operatsioonisüsteemid 1. loeng

MOOCi „Programmeerimise alused“ ülesannete lahenduste analüüs

Kom igang med Scratch

Operatsioonisüsteemide ehitus

Koolitus Täiskasvanud õppija õpioskuste arendamine Haridus- ja Teadusministeerium koostöös Tartu Rahvaülikooli koolituskeskusega (Tartu Rahvaülikool S

Õppevideote rakendamine programmeerimise kursustel

Failiotsing: find paljude võimalustega otsingukäsk find kataloog tingimused kataloog - otsitakse sellest kataloogist ja tema alamkataloogidest tingimu

(Microsoft PowerPoint - seminar_6_n\365uded-ainemudel tagasiside.ppt [Compatibility Mode])

01b-Schedule for line, version

Eesti keele võõrkeelena olümpiaadi lõppvoor 2013 Kõik ülesanded on siin lühendatult. Valikus on küsimusi mõlema vanuserühma töödest. Ülesanne 1. Kirju

Microsoft Word - Kurtna koolitöötajate rahulolu 2012

01_loomade tundmaõppimine

Praks 1

Microsoft Word - HOTSEC kasutusjuhend v1.900.docx

Relatsiooniline andmebaaside teooria II. 6. Loeng

Andmeturve

Operatsioonisüsteemi ülesanded

Õpetajate täiendkoolituse põhiküsimused

Present enesejuhtimine

Microsoft Word - installation-guide.doc

4. KIRURGIA Üliõpilase andmed. Need väljad täidab üliõpilane Praktikatsükli sooritamise aeg Kirurgia praktikatsükkel Ees- ja perekonnanimi Matriklinum

Õnn ja haridus

Ppt [Read-Only]

Programmi AnimatorDV Simple+ lühike kasutajajuhend

Tarbijamängu Saa Kinder Bueno fotomodelliks reeglid 1. TOODETE TURUSTAJA: Mobec AS, registrinumber , aadress: Kurekivi tee 6, Rae vald, Harjum

Loovtööd ja nende korraldus Lääne-Virumaal Roela koolis

Inglise keele ainekava 9.klassile Kuu Õpitulemused Õppesisu Kohustuslik hindamine September 1. Kasutab Present Simple, Present Mina ja teised. Inimese

Akadeemilise personali tööstressi ja läbipõlemise ohjamise meetmed (AcadOSI) Tallinna Tehnikaülikool psühholoogia õppetool professor Mare Teichmann 12

Pythoni Turtle moodul ja Scratchi värvilisem pool Plaan Isikukoodi kontrollnumbri leidmine vaatame üle lahenduse kontrollnumbri leimiseks. Pythoni joo

G OSA A VARIANT RESPONDENDILE ISE TÄITMISEKS

sotsiaalne_tarkvara

(Microsoft Word - T\366\366leht m\365isaprogramm algklassilastele tr\374kk 2.doc)

SQL

Sügis 2018 Kõrgema matemaatika 2. kontrolltöö tagasiside Üle 20 punkti kogus tervelt viis üliõpilast: Robert Johannes Sarap, Enely Ernits, August Luur

SG kodukord

(10. kl. I kursus, Teisendamine, kiirusega, kesk.kiirusega \374lesanded)

Share wave 5: 50+ in Europe - Coverscreenwizard version IF SKIP_INTROPAGE = 0 CoverscreenWizardIntroPage Järgnev sissejuhatus sisaldab üldküsimu

Hoia oma arvuti turvaline ja kiire 1.Leia start nupust alustades Juhtpaneel 2.Juhtpaneeli aadressiribalt leia Kõik juhtpaneeli üksused 3.Avanenud tööa

SQL

Eksam õppeainetes "Andmebaasid I" (IDU0220) ja "Andmebaaside projekteerimine" (IDU3381)

Kursuseprogramm Ainekood: IFI6001 Arvuti töövahendina Maht 5 EAP Kontakttundide maht: 56 Õppesemester: K Eksam Eesmärk: Aine lühikirjeldus: (sh isesei

I Generaatori mõiste (Java) 1. Variantide läbivaatamine Generaator (ehk generaator-klass) on klass, milles leidub (vähemalt) isendimeetod next(). Kons

Automaatne programmeerimisülesannete kontrollija Tartu Ülikooli kursuse “Algoritmid ja andmestruktuurid” jaoks

Inglise keele ainekava 5.klassile Kuu Õpitulemused Õppesisu Kohustuslik hindamine September 1. Räägib loomadest. Vaba aeg. Animals (Wild life 2. Kuula

NÕO REAALGÜMNAASIUMI KOOLIEKSAMI ERISTUSKIRI I. KOOLIEKSAMI OSAD Võttes aluseks Põhikooli- ja gümnaasiumiseaduse ( ) 31 lõike 2, tuleb gümnaa

Microsoft Word - Loppukilpailu2015_16_tehtavat_viro_1

PISA 2015 tagasiside koolile Tallinna Rahumäe Põhikool

TARTU ORIENTEERUMIS- NELJAPÄEVAKUD neljapäevak Tehvandi, 1. august Ajakava: Start avatud: Finiš suletakse: Asukoht: Võistlu

Microsoft Word - Toetuste veebikaardi juhend

Slide 1

Kuidas kehtestada N&M

Matemaatilised meetodid loodusteadustes. I Kontrolltöö I järeltöö I variant 1. On antud neli vektorit: a = (2; 1; 0), b = ( 2; 1; 2), c = (1; 0; 2), d

No Slide Title

Microsoft Word Kutseliste hindajate aruandluse ja auditeerimise kord.doc

Rühmatöö Moodle is Triin Marandi 2017 oktoober

raamat5_2013.pdf

EVANGEELIUMI JAGAMINE MIKS JA KUIDAS RÄÄKIDA JEESUSEST TEISTELE? Kas Sa oled kunagi kellelegi rääkinud Jumalast/Jeesusest? Inimestele Jeesuse

Image segmentation

Slide 1

Väljavõte:

Automaadid, keeled, translaatorid Varmo Vene & Vesal Vojdani Arvutiteaduse Instituut Tartu Ülikool

Administratiivinfo MTAT.05.085 (6 ainepunkti) Loengud: 56 tundi Praktikumid: 32 tundi Iseseisev töö: 68 tundi

Kaugõppe korraldus Kolmapäevane loeng täpselt kell 10:15-12:00 Zoomis Esmaspäeva ja teisipäeva praktikumid kell 16:15-18:00 Zoomis. Interaktiivne teater, mida ei saa video peale võtta. Pigem osale aktiivselt! Reedel paneme videod välja! (Tunniplaanist võite seda kustutada.)

https://courses.cs.ut.ee/2021/akt Kursuse veebileht

Kursuse eesmärk Kursus süvendab tudengite arusaamist arvutiprogrammide ülesehitusest ja täitmisest. Selline arusaamine on hädavajalik usaldusväärsema tarkvara arendamiseks. Kursuse põhieesmärk on vähendada halvast programmeerimisest tingitud kahju ühiskonnale... ja suurendada heast programmeerimisest tulenevat rõõmu teile endile.

Afektiivsed väljundid! Tudeng tunnistab, et halb programmeerimine teeb teistele inimestele haiget. Tudeng hindab koodi korrektsuse moraalset tähtsust ACM kutseeetika koodeksi valguses.

Kursuse läbinu oskab Koostada kontekstivaba grammatika etteantud programmeerimiskeele süntaksi täpseks iseloomustamiseks kõnekeelse kirjelduse ja näidete põhjal. Rakendada parseri loomise ning puu läbimise meetodeid, et antud keeles Põhiosa kirjutatud programmide abstraktseid süntaksipuid kätte saada. Implementeerida interpretaatori, mis väärtustab programmi selle Alusosa süntakspuu põhjal. Luua translaatori, mis teisendab puu virtuaalmasina käskude jadaks. Lõviosa

Hinde kujunemine Hinne Punkte Kodutööd (30 punkti) Eksam (70 punkti) Loengute ActiveQuiz (10 punkti) A Suurepärane 91 B Väga hea 81-90 C Hea 71-80 D Rahuldav 61-70 Seega on kokku võimalik koguda 110 punkti. E Kasin 51-60 F Puudulik 0-50

Eksam: kirjuta translaator! Praktiline osa (40 punkti): lihtsa keele jaoks interpretaator ja translaator valmis kirjutada. Teooria osa (30 punkti): teooriatest ja automaatide joonistamine. Baitkoodi genereerimine Grammatika ja parser Avaldise väärtustamine Teooriatest (moodle) Automaatide joonistamine Enne eksamit (lisaks loengute eest 10 boonuspunkte)

Kodutööd (30 p) Aines on 10 põhilist kodutööd ja iga kodutöö annab 1 punkti. Kodutööde eest saab punkte esitamise eest! (Vähemalt ühe testi peab läbima ja praktikumides aidatakse selleni jõuda.) Ülejäänud 20 punkti saab iganädalaste moodle'i-testide eest. Neid saab korduvalt lahendada ja arvesse läheb parim tulemus.

Kirjandus Õpik on ülikooli raamatukogu kaudu kõigile kättesaadav. Iga nädal anname peatükid lugemiseks. Reedeks paneme ka järgmise nädala video välja! Järgmisel loengul eeldame, et peatükk on loetud (ActiveQuiz & arutelu).

Fleep! Tagasiside andmiseks kasutame fleep i keskkonda! Palume registreerida sellise kasutajanimega, et me saaks küsijat seostada moodle i esitustega. Seega, Markus Pulk, mitte nublu Reedeti lindistame video, kus natuke analüüsime teie tehtud vigu. (Kindlasti anonüümselt, nagu Tartu Ülikoolis ikka ) Individuaalse tagasiside saamiseks peate ise vähemalt ühe väikese sammukese tegema juhendajaga ühendust võtma.

Tudengite tagasiside (ja meie lahendused)

Õiged arvamused Super aine selles mõttes, et see arendab sind programmeerijana meeletult, kuid see nõuab vastavalt ka korralikult tööd. Aine teemad on kohati päris keerulised. Seevastu eksami ülesanded on ette teada ja kui vähegi pingutada, tuleb hea hinne kergelt Alustage kodutööga enne praktikumi, et praktikumi ajal oleks juba eesmärgi arusaam ja küsimused, mida küsida.

Peamised kriitikad Käige kohal igal pool, kus saate, ärge usaldage seda, kui näiteks öeldakse, et piisab ainult ühes praktikumis kohal käimisest. Punktisüsteem absoluutselt ei pane õppima. Enne eksamit saab väga minimaalse pingutusega maksimumpunktid igalt poolt kätte ja seega peab enne eksamit materjali põhimõtteliselt nullist selgeks tegema endale. Eemaldaks esiplaanilt kõik lisaülesanded ja vähendaks olulisel määral kõiki kursuse tekste. Oleks palju mugavam, kui õppejõud oma terve mõttekäigu kirja panemise asemel kirjutaks ainult sellest, mis on tegelikult vajalik

Meie vastus Punktisüsteemiga oli valdav enamus väga rahul! Teie oskused ja motivatsioonid on erinevad: me laseme teil ise otsustada, kui palju tahate programmeerimisoskusele keskenduda. Üritame nüüd selgemini välja tuua põhitee läbi kursuse, aga kõik lisaülesanded jäävad Eksamist räägime varem. NB! Palun proovieksamitel kaasa teha!

Praktikumide korraldus Neljapäeval on kodutööde tähtaeg. Juba enne seda ilmub uus kodutöö! Reedel vaatame eelmise kodutöö üle ja alustame uue kodutööga seotud praktikumi teemade selgitamist. Spoiler Üritage enne oma praktikumi kodutööga tegeleda! alert! Esmaspäeval-teisipäeval on praktikumid, kus näidatakse ära, kuidas kodutöö lahendada ja kodus jääb see lõpuni teha.

_.--,-```-. / / '. /../ ; \ ``\.``- ' \ \/ \ : \ : ;. ; ; : / : : `---'. `--..`;.--,_ `. `-- -`, ; '---`" _.--,-```-. / / '. /../ ; \ ``\.``- ' \ \/ \ : \ : ;. ; ; : / : : `---'. `--..`;.--,_ `. `-- -`, ; '---`" _.--,-```-. / / '. /../ ; \ ``\.``- ' \ \/ \ : \ : ;. ; ; : / : : `---'. `--..`;.--,_ `. `-- -`, ; '---`" Translaatori realiseerimine OMG Keda see huvitab?

DSLide loomine Selle asemel, et 20 progejat peaksid aru saama & implementeerima äriloogikat Piisab, kui 1 AKT tudeng loob DSLi, milles ärimehed ise saavad äriloogika defineerida. Tõsisemalt, PP tip #17: Program Close to the Problem Domain The best code is no code at all. Jeff Atwood

Aga miks on aine kohustuslik? 1992 Bose Award (MIT's School of Engineering teaching award) 1995 Taylor L. Booth Education Award. 2011 ACM Karl V. Karlstrom Outstanding Educator Award 2012 ACM SIGCSE Award for Outstanding Contribution to Computer Science Education Süüdlane: Hal Abelson

If you don t understand interpreters, you can still write programs; you can even be a competent programmer. But you can t be a master. Hal Abelson

Programmi tähendus Jah, programmidel on tähendus! (semantika) Programm ei ole lihtsalt sümbolite jada, mida niisama stackoverflow st kopeerida. Hea programmeerija omab intuitiivset arusaamist programmi täitmisest. Seda nimetatakse operatsiooniliseks semantikaks.

code.org Lesson 1 & 2: Flurbi liigutuste paberile liimimine. Lesson 3: Hiire liigutamise harjutused. Lesson 4: Angry Bird'i liigutamine klotsidega. Lesson 5: Debugging.

Kuhu lind läheb? Siin me oskame ennustada, kuhu lind läheb, sest me oskame peas linnu sammud läbi astuda.

Küsimus 4-aastastele? https://code.org/curriculum/course1/5/teacher Students will predict where a program will fail! Minu neljaaastane poeg lihtsalt võttis kõik klotsid ära ja hakkas uuesti algusest tegema. Mõistagi ma sain väga vihaseks

Küsimus Teile Kas oskate Java programmi käitumist ennustada? Reflekteerige: Kas minu arusaamine arvutiprogrammist on süntaksi tasemel või saan hästi aru, kuidas programmi täidetakse? Kas oskad põhjendada, miks antud programm töötab õigesti? Kas põhimõtteliselt kujutad ette, kuidas saaks veenduda, et programm töötab õigesti või saab seda ainult katsetada/testida?

Milleks AKT? Kuidas ma kontrollin, kas te tõesti saate Java programmi tähendusest aru? Ma võiks anda ülesande kirjutada translaator, mis Java programmist genereeriks baitkoodi. Aga äkki töötab ka vastupidi: Kui ma kirjutan translaatorit, siis ma saan natuke paremini aru Java programmi tähendusest.

Järgmiseks korraks Töövahendite paigaldus! Vaja juba reedeks! Lugemine: Preface (lk v-ix) ja esimene peatükk (lk 1-6). Kuulata kompilaatoritest BBC sarjast 50 Things That Made the Modern Economy

There are estimates that the number of programmers needed in the U.S. exceeds 200,000. This is entirely misleading. It is not a quantity problem; we have a quality problem. One bad programmer can easily create two new jobs a year. Hiring more bad programmers will just increase our perceived need for them. If we had more good programmers, and could easily identify them, we would need fewer, not more. David Parnas