IAG0050 - Algoritmikeelte analüüs

From ATI public wiki
Revision as of 13:06, 17 February 2014 by Hkinks (Talk) (Created page with "==Ainekava== 1. Õppeaineregistri osa: 2. Õppeaine kood: IAG0050 3. Õppeaine nimetus eesti keeles: Algoritmikeelte analüüs 4. Õppeaine nimetus inglise keeles: An Analys...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Ainekava

1. Õppeaineregistri osa: 2. Õppeaine kood: IAG0050 3. Õppeaine nimetus eesti keeles: Algoritmikeelte analüüs 4. Õppeaine nimetus inglise keeles: An Analysis of Algorithmic Languages 5. Õppeaine nimetus vene keeles: Aна.... 6. Õppeaine maht (EAPdes): 5,0 EAP 7. Kontrolli vorm: eksam

   (eksam, arvestus, hindeline arvestus, …)

8. Õppetöö keel: eesti 9. Õpetamise semester:magistrite 2 10. Õppeaine eesmärgid eesti keeles:

• anda ülevaade algoritmiliste keelte arengust, universaal- ja spetsiaalkeeled; • tutvustada eri keelte konstruktsioone, võrreldes nendes kasutatavate andmetüüpide, kirjeldavate ja täidetavate lausete ning moodulitevahelise andmevahetuse võimalusi; • selgitada andmetüübide ja adresseerimisviiside kasutamist assemblerikeeles; • selgitada translaatorite ja nende komponendide ehitust ja tööpõhimõtteid; • anda oskusi spetsiaalkeelte kirjeldamiseks ja nende translaatorite koostamiseks kasutades eriotstarbelist rakendustarkvara( BISON).

11. Õppeaine eesmärgid inglise keeles: • to give an overview of the evolution of algorithmic languages, universal languages and special purpose languages; • to compare language constructions in various languages, data types, descriptory and executive statements, data exchange between program modules; • to explain data types and adressing methods in assembler languages; • to explain the principles of operation of compilers and their components; • to give the students an ability to describe a special purpose language and create a compiler for it using BISON.

12. Õppeaine õpitulemused eesti keeles:

     Aine läbinud üliõpilane peab:

• seostama lahendatavaid ülesandeid ja selleks sobivaid algoritmilisi keeli; • peab orienteeruma algoritmiliste keelte kirjeldamisvahendites; • oskama projekteerida eriotstarbelist algoritmilist keelt ja looma sellele translaatorit eriotstarbelise rakendustarkvara abil; • oskama dokumenteerida tarkvaraprojekte.


13. Õppeaine õpitulemused inglise keeles:

           Having finished the study of the subject a student has to be able:

• to associate tasks with a suitable algorithmic language; • to describe an algorithmic language and be fluent in the available tools for this; • to design a special purpose algorithmic language and create a compiler for it; • to document software projects.

14. Õppeaine sisu lühikirjeldus eesti keeles:

Programmeerimiskeel, programmeerimissüsteem, translaatorid, ülesehitus. Keele süntaks, mõiste, klassifikatsioon,grammatika. Avaldised, süntaksipuud,süntaksiskeemid, translaatorite kirjeldamise keeled(BISON). Transleerimine, mõiste, translaatorite tüübid. Spetsiaalkeeled( SQL, ORACL-i avatud süsteem. SQL kui keel, põhikonstruktsioonid). Keelte põhikonstruktsioonid, nende areng, Hea keel mõiste( erikeelte võrdlus). Programmi ülesehitus, põhikonstruktsioonid, nende analüüs , silumise vahendid.Programmi komponeerimine. Ülevaade assemblerist: mälu kasutamine,adresseerimise võimalused. Programmeerimise meetodid, struktuurne programmeerimine, objektorienteeritud lähenemisviis. Alamprogrammid:funktsioonid,protseduurid. Spetsiaalkeele projekteerimine ja realiseerimine. Tarkvaraprojekti dokumenteerimine.


15. Õppeaine sisu lühikirjeldus inglise keeles: Programming language, programming system, compilers. Language syntax, concept, classification, grammar. Expressions, syntax-trees, syntax diagrams, compilers description languages(BISON). Compailing, the main, types of compilers. Special languages(SQL, ORACL open system.SQL as language,basic statements). The basic statment of programming languages and an overview of the nature and evolution of them."Good Language"(separate different languages). Structure of an programm.Debugging , debuggers. Decomposing a program. Overview of assembler:memory allocation, using. Different programming methods: structure ,object-oriented approach to programming (classes, objects, methods, attributes). Subprogramm: functions, procedures. Documentation. Managing a special laguage as software project.


16. Hindamisviisid ja –kriteeriumid eesti keeles:

Teadmiste kontroll toimub  tunniülesannete lahendamise käigus praktikumides, ühel kontrolltööl ja eksamil. Üliõpilane peab esitama ja kaitsma ühe iseseisva töö (spetsiaalkeele translaator) ning praktikumides lahendatud ülesanded.   Kontrolltöö hinnatakse 100-pallilises süsteemis.  Eksami eelduseks on min 51 palli, 85 palli ja enam annavad õiguse suulisele eeleksamile .

Üldjuhul on eksam kirjalik ja koosneb ülesannete lahendamisest ning vastamisest teoreetilistele küsimustele. Eksami hinne saadakse kahe osa hindamisel: isesseisev töö ja eksamitöö.


17. Hindamisviisid ja –kriteeriumid inglise keeles: 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 one individual work (a compiler of a language) and complete the exrecises in the lab lessons. 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 and performance on the exam . 18. Õppekirjandus

       (kohustuslik ja soovituslik)

Põhiõpikud: 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  

.

           Täiendav kirjandus:

• Aine koduleht //elrond.tud.ttu.ee/material/vladimir/algoritmikeeled/ • Viktor Leppikson. Programmeerimine C-keeles. Külim, 1997 • Vladimir Viies, Toomas Kont , Java ja kodulehekülg ,1998 http://www.va.ttu.ee/~toomas/kursus/ • David Eck, Introduction to Programming Using Java , version 5, 2006 http://math.hws.edu/javanotes/ allalaadimiseks http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf

19. Esitamiskuupäev: 20. Õppeaine läbimise eeltingimused: Sooritama kontrolltöö või arvestus vähemalt 51 punktile. 21. Õppeaine töömahud ja vormid Statsionaarne Kaugõpe (Nädalatunnid) Loengud …………2…………. …kokku 6(e-kursus) Harjutused / seminarid …………0………… …kokku 0 Praktikumid …………2………… …kokku 4 Auditoorseid tunde kokku ………54………… ………10………… 22. Piirangud kuulajaskonnale

       Eelduseks on  arvestuse omamine aines 
       IAG0082"InformaatikaII" või IAG0087"Programmeerimine II"
     

23. Reegel deklareerimise kohta

24. Iseseisev töö eesti keeles

Iseseisev töö seisneb teoreetiliste materjalide läbitöötamises ja laboriteks valmistumises ning iseseisva kodutöö sooritamises(translaatori koostamine kasutades kompilaatorite kompilaatorit). Töö maht statsionaarses õppes – 32 tundi, kaugõppes – 76 tundi.

25. Iseseisev töö inglise keeles Individual work includes the research of available theoretical resources, prepararations for lab excercises and one programming work (creating a compiler using a compiler compiler). The volume of individual work amounts to 32 hours in the on-campus study and to 76 hours in distance education.

26. Õpetavad struktuuriüksused Matemaatikainstituut 27. Kood Nimetus Kinnitus Kuupäev Kinnitaja

   IAG    Süsteemitarkvara õppetool

28. Aine kooskõlastus ja lukustamine: 29. Kooskõlastatud ………………………… 30. Kooskõlastamise kuupäev ……………………….. 31. Aine lukustatud …………………………

32. Õppekavad, millesse aine kuulub Kava versioon / kava kood Kava kinnitatud Jah / ei Kava sisestaja