IAG0050 - Algoritmikeelte analüüs

From ATI public wiki
Jump to: navigation, search

Ainekaart

Ainekava

Õ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).

Õ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.

Õ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.

Õ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.

Õ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.

Õ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.

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öö.

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 .

Õ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

• 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