Programmeerimiskeelte analüüs (IAS0450)
PÕHIANDMED
õppeaine register
A - põhiregister
õppeaine kood
IAS0450
õppeaine nimetus eesti k
Programmeerimiskeelte analüüs
õppeaine nimetus inglise k
Analysis of Programming Languages
õppeaine maht AP
-
õppeaine maht EAP
6.00
deklareeritav
jah
kontrollivorm
eksam
õpetamise semester
sügis
õppekeel
eesti keel
inglise keel
Õppekavad, millesse aine kuulub
kavaversiooni kood
aine kohustuslik
IACM23/26
ei
Ainet õpetavad struktuuriüksused
IA - arvutisüsteemide instituut
Ainekaardi link
Tunniplaani link
Vaata tunniplaani
Versioon:
VERSIOONIPÕHISED ANDMED
õppeaine eesmärgid eesti k
Õppeaine eesmärk on:
- anda ülevaade algoritmiliste keelte arengust, seletada universaal- ja spetsiaalkeelte omadusi;
- tutvustada masinkeelt ja assemblerit;
- võrrelda eri keeltes sarnaseid konstruktsioone (omistamine, hargnemine, korduslaused) ja andmetüüpe (täisarv, ujukomaarv, tekst);
- selgitada translaatorite ja nende komponentide ehitust ja tööpõhimõtteid;
- anda oskusi spetsiaalkeelte kirjeldamiseks ja nende translaatorite koostamiseks;
- õpetada teemasid, mis on programmeerijale tähtsad igapäevatöös.
õppeaine eesmärgid inglise k
The aim of this course is to:
- give an overview of the evolution of algorithmic languages, to explain the properties of universal languages and special purpose languages;
- introduce machine language and assembly language
- compare language constructs in various languages (assignment, branch, loop) and data types (integer, floating point, text);
- explain the principles of operation of compilers and their components;
- give the students an ability to describe a special purpose language and create a compiler;
- touch the topics, which are important for a programmer in everyday work.
õppeaine õpiväljundid eesti k.
Aine läbinud üliõpilane:
- seostab lahendatavaid ülesandeid ja selleks sobivaid algoritmilisi keeli;
- saab aru assembleris kirjutatud koodist;
- oskab projekteerida eriotstarbelist algoritmilist keelt ja loob sellele translaatorit;
- oskab dokumenteerida tarkvaraprojekte.
õppeaine õpiväljundid ingl k.
Having finished the study of the subject a student is able to:
- associate tasks with a suitable algorithmic language;
- understand assembler code;
- design a special purpose algorithmic language and create a compiler for it;
- document software projects.
õppeaine sisu lühikirjeldus eesti k
Programmeerimiskeel, programmeerimissüsteem, translaatorid.
Keele süntaks - mõiste, klassifikatsioon, grammatika.
Transleerimine - mõiste, translaatorite tüübid.
Avaldised, süntaksipuud, süntaksiskeemid, translaatorite kirjeldamise keeled.
Keelte põhikonstruktsioonid, nende arengu analüüs.
Pseudokeel ja assembler: konstruktsioonide vastavused.
CISC ja RISC assembleri võrdlus.
Lekser ja parser.
"Hea keele" mõiste (erikeelte võrdlus).
Spetsiaalkeeled (SQL kui keel, põhikonstruktsioonid, SQL ja andmebaasid).
Spetsiaalkeele projekteerimine ja realiseerimine.
Programmeerimise meetodid, struktuurne programmeerimine, objektorienteeritud lähenemisviis.
Tarkvaraprojekti dokumenteerimine.
õppeaine sisu lühikirjeldus ingl k
Programming language, programming system, compilers.
Language syntax - concept, classification, grammar.
Compiling, the main types of compilers.
Expressions, syntax-trees, syntax diagrams, compilers description languages.
The basic statements of programming languages and an overview of the nature and evolution of them.
Pseudo-language and assembler: constructions conformity.
Lexer and parser.
"Good Language" (comparison of different languages).
Special languages (SQL as language, basic statements, SQL and databases).
Managing a special language as software project.
Different programming methods: structure, object-oriented approach to programming.
Documenting a software project.
hindamisviis eesti k
Teadmiste kontroll toimub tunniülesannete lahendamise käigus praktikumides, ühel kontrolltööl ja eksamil. Üliõpilane peab esitama ja kaitsma kaks iseseisvat tööd (spetsiaalkeele translaator, AB liides) ning praktikumides lahendatud ülesanded. Iseseisvad ülesanded annab välja ja võtab vastu harjutuste ja praktikumide õppejõud. Kontrolltöö toimub loengu ajal, selle viib läbi aine lektor ning selle parandab ja arvestab see õppejõud, kellele üliõpilane on aine deklareerinud. Kontrolltöö hinnatakse 100-pallilises süsteemis. Kontrolltöö eest min 51 palli on eksami eelduseks, 85 palli ja enam annavad õiguse ainult suulisele eeleksamile .
Üldjuhul on eksam kirjalik ja koosneb ülesannete lahendamisest ning vastamisest teoreetilistele küsimustele. Eksami hinne saadakse kahe osa hindamisel: iseseisev töö (max 30p) ja eksamitöö (max 70p).
hindamisviis ingl k
The command of the subject gets evaluated based on the ability to solve exercises in the lab and the performance in the test and on the exam. Student must present two individual works (a compiler of a language, a Java Web application) and complete the exercises in the lab lessons. Individual exercises get issued by the instructor of lab lessons who also evaluates the solutions. The test takes place during a lecture. The test is supervised by the teacher who gives lectures and evaluated by the teacher who the student selected when registering for the course. The maximum score for the test is 100. Score of 51 or higher is necessary to be permitted to the exam, 85 or higher gives the opportunity for the oral pre-exam.
Usually the course ends with a written exam. The exam consists of solving one task and answering a couple of theoretical questions. The final mark comprises of two parts: individual work (30%) and performance on the exam (70%).
iseseisev töö eesti k
Iseseisev töö seisneb teoreetiliste materjalide läbitöötamises ja laboriteks valmistumises ning iseseisvate kodutööde sooritamises. Töö maht statsionaarses õppes - 32 tundi.
iseseisev töö ingl k
Individual work includes the research of available theoretical resources, preparations for lab exercises and one programming work. The volume of individual work amounts to 32 hours.
õppekirjandus
Aine koduleht - http://www.tud.ttu.ee/material/vladimir/algoritmikeeled/
David Eck, Introduction to Programming Using Java - http://math.hws.edu/javanotes/
http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf
http://www.java2s.com/Tutorial/Oracle/CatalogOracle.htm

Täiendav kirjandus:
Viktor Leppikson. Programmeerimine C-keeles. Külim, 1997
http://classes.eclab.byu.edu/330/-Concepts of Programming Languages
http://www.springer.com/computer/programming/book/978-3-540-54576-7 -Methods-of-Programming
The GNU C Library. http://www.delorie.com/gnu/docs/glibc/libc_toc.html
http://www.BruceEckel.com
õppevormid ja mahud
päevaõpe: nädalatunnid
4.0
sessioonõppe töömahud (semestris):
loenguid
2.0
loenguid
-
praktikume
2.0
praktikume
-
harjutusi
0.0
harjutusi
-
vastutav õppejõud
-
tunnus (VPÕ/PPÕ)
puudub
ÕPPEJÕU AINEKAVA INFO
õppetöö semester
õpetav õppejõud / üksus
õppetöö keel
Laiendatud ainekava
2026/2027 sügis
Vladimir Viies, IA - arvutisüsteemide instituut
inglise keel, eesti keel
    IAS0450_eesti k.pdf 
    Lembit Jürimägi, IA - arvutisüsteemide instituut
    inglise keel, eesti keel
      IAS0450_eesti k.pdf 
      kuva rohkem
      2025/2026 sügis
      Lembit Jürimägi, IA - arvutisüsteemide instituut
      inglise keel, eesti keel
        IAS0450_hindamiskriteeriumid_eesti_2025.pdf 
        Vladimir Viies, IA - arvutisüsteemide instituut
        inglise keel, eesti keel
          IAS0450_eesti k.pdf 
          2024/2025 sügis
          Lembit Jürimägi, IA - arvutisüsteemide instituut
          inglise keel, eesti keel
            IAS0450_eesti k.pdf 
            Vladimir Viies, IA - arvutisüsteemide instituut
            inglise keel, eesti keel
              IAS0450_eesti k.pdf 
              2023/2024 sügis
              Lembit Jürimägi, IA - arvutisüsteemide instituut
              inglise keel, eesti keel
                Vladimir Viies, IA - arvutisüsteemide instituut
                inglise keel
                  2022/2023 sügis
                  Lembit Jürimägi, IA - arvutisüsteemide instituut
                  inglise keel
                    Vladimir Viies, IA - arvutisüsteemide instituut
                    inglise keel
                      2021/2022 sügis
                      Lembit Jürimägi, IA - arvutisüsteemide instituut
                      inglise keel
                        IAS0450_eesti k.pdf 
                        Vladimir Viies, IA - arvutisüsteemide instituut
                        inglise keel
                          IAS0450_eesti k.pdf 
                          2020/2021 sügis
                          Lembit Jürimägi, IA - arvutisüsteemide instituut
                          inglise keel
                            IAS0450_eesti k.pdf 
                            Vladimir Viies, IA - arvutisüsteemide instituut
                            eesti keel
                              IAS0450_eesti k.pdf 
                              2019/2020 sügis
                              Vladimir Viies, IA - arvutisüsteemide instituut
                              inglise keel
                                IAS0450_eesti k.pdf 
                                Lembit Jürimägi, IA - arvutisüsteemide instituut
                                inglise keel
                                  IAS0450_eesti k.pdf 
                                  Ainekaart eesti keeles
                                  Ainekaart inglise keeles