Programmeerimine II (IAX0584)
PÕHIANDMED
õppeaine register
A - põhiregister
õppeaine kood
IAX0584
õppeaine nimetus eesti k
Programmeerimine II
õppeaine nimetus inglise k
Programming II
õppeaine maht AP
-
õppeaine maht EAP
6.00
deklareeritav
jah
kontrollivorm
eksam
õpetamise semester
sügis-kevad
õppekeel
eesti keel
inglise keel
Eeldusaine(d)
Eeldusaine 1
Programmeerimine I (IAX0583)
Aine on eelduseks
Programmeerimine III (IAX0586)
Õppekavad, millesse aine kuulub
kavaversiooni kood
aine kohustuslik
EAAB16/25
ei
IACB17/25
jah
MVEB14/25
jah
Ainet õpetavad struktuuriüksused
IA - arvutisüsteemide instituut
Ainekaardi link
Tunniplaani link
Vaata tunniplaani
Versioon:
VERSIOONIPÕHISED ANDMED
õppeaine eesmärgid eesti k
- loogilise- ja loomingulise mõtlemise arendamine originaalsete ülesannete lahendamise kaudu.
- selgitada objekt-orienteeritud programmeerimine (OOP) aluseid.
- tutvustada, praktiliste tööde näitel, C kasutamist mikroprotsessorite programmeerimisel.
- tutvuda keerulisemate algoritmide koostamise strateegiatega, dünaamilise mälujaotamisega, jätkatakse koostatud algoritmi kodeerimisega erinevates algoritmikeeltes C, C++, ja erinevates keskkondades.
- õppida andmete töötlemisel kasutama faile, tekkivate erisituatsioonide töötlemist ja tutvustada rakenduse ühildamist andmebaasiserveriga (näiteks PostgreSQL), andmete pärimine ja redigeerimine C klientrakenduse vahendusel.
õppeaine eesmärgid inglise k
- the main objective of this course is to develop both creative and analytical thinking by solving original tasks.
- to explain the principles of OOP (object-oriented programming).
to develop both:
- strategies for constructing complex algorithms, dynamic memory allocation, coding the algorithm in programming languages C, C++ and environments;
- to use files for storing data, exception handling.
õppeaine õpiväljundid eesti k.
Aine läbinud üliõpilane:
- tunneb ja oskab kasutada struktuurseid andmetüüpe;
- oskab koostada ülesande lahendamise algoritme lähtudes OO lähenemisest;
- oskab kirjutada algoritmile üks-ühele vastavat programmi C- või C++ keeles, kasutades nii staatilist kui dünaamilist mälujaotust;
- oskab kasutada C-d mikroprotsessorite programmeerimisel;
- oskab töödelda andmeid nii tekstfaili, tüüpfaili kui ka andmebaasiserveri vahendusel;
- oskab dokumenteerida tarkvaraprojekte.
õppeaine õpiväljundid ingl k.
Having finished the study of the subject a student is able:
- to recognize and use structural data types (records);
- to construct an algorithm based on the OO approach to the problem;
- to implement an algorithm in a programming language C,C++ while using either dynamic or static memory allocation scheme;
- to write documentation for software projects.
õppeaine sisu lühikirjeldus eesti k
Ülevaade struktuursetest andmetüüpidest (kirjed, hulgad, failid).
Objekt-orienteeritud lähenemine programmi koostamisel (klass, objekt, meetod). Kirjed, väljad, varieeruvad kirjed.
Deklareerimine ja käsitlemine. Failid. Tekstifailid ja tüüpfailid, järjestikulised ja otsepöördumisega failid. Faili puhver. Faili avamine (sisestamiseks, väljastamiseks või täiendamiseks) ja sulgemine. Kirjete väljastamine/sisestamine faili/-st. Faili elementide järjestamine, reageerimine tekkivatele erisituatsioonidele. Tekstifaili järjestamise algoritm. Faili järjestamine indeksfaili abil. Faili väline sorteerimine. Rekursioon: otsene- ja kaudne rekursioon. Rekursiooni eelised ja puudused. Infovahetus rekursiooni puhul. Näidisülesanded. Dünaamiline mälujaotus. Viidad, mälu eraldamine ja vabastamine programmitäitmise käigus. Pinu (stack-i) ja järjekorra struktuur. Dünaamilise struktuuri järjestamise algoritm. Andmebaas. Klient-server rakenduste arhitektuur. Klientrakendus. Andmete pärimine SQL-ga. C kasutamine mikroprotsessorite programmeerimisel.
Programmi silumine: skaneerimine, kontrollpunktid, silurid. Programmi komponeerimine. Programmi dokumenteerimine, tarkvaraprojekti koostamine.
õppeaine sisu lühikirjeldus ingl k
Overview of structural data types (records, sets, files).
Object-oriented approach to programming (classes, objects, methods, attributes).
Records. Fields and subfields of a record, union records.
Declaring and usage. Files. Text files and typed files, sequential and random access files. File buffer. File open (read, write, edit) and close. Reading and writing records to a text file and typed file.
Sorting data in files, exceptions. Sorting text files. Sorting files by using an index. Sorting outside of files. Recursion: direct and indirect recursion. Advantages and disadvantages.
Data exchange. Examples. Dynamic memory allocation. Pointers, allocating and freeing memory. Stack and its types. Sorting a dynamic structure.
Debugging a program: scanning, checkpoints, debuggers. Decomposing a program. Documentation. Managing a software project.
hindamisviis eesti k
Teadmiste kontroll toimub tunniülesannete lahendamise käigus, ühel kontrolltööl ja eksamil. Eksami eelduseks peab üliõpilane esitama ja kaitsma kaks iseseisvat tööd (algoritmid ja programmid, st tarkvaraprojekt) ning vähemalt 3/4 kõikidest praktikumides lahendatud ülesannetest, samuti sooritama kontrolltöö min 51 pallile (100-pallilises süsteemis). Eksam on kirjalik ja koosneb originaaltarkvara koostamisest ning vastamisest teoreetilistele küsimustele. Eksami hinne saadakse kolme osa hindamisel: kodutööde ja tunnitöö ühishinne, eksamil koostatud programm; vastused eksamil teoreetilistele küsimustele .
hindamisviis ingl k
The command of the subject is evaluated based on the ability to solve exercises in the lab and the performance in the test and the exam. The student must solve 2 individual exercises (both an algorithm and a working program are needed) and hand in at least 3/4 of the lab done during the lab lessons, also score of 51 or higher of test is required to pass(the maximum score for the test is 100) to exam. The course ends with a written examination that includes creating a small piece of software and answering a few theoretical questions. The final mark comprises of 3 parts: from solving lab and individual exercises, from the software creation and from the answeres to teoretical questions.
iseseisev töö eesti k
Iseseisev töö seisneb teoreetiliste materjalide läbitöötamises ja laboriteks ning harjutusteks valmistumises (kasutades seejuures e-õppe materjale).
iseseisev töö ingl k
Individual work includes the research of available theoretical resources and prepararations for lab excercises and seminars (including the use of e-study capabilities).
õppekirjandus
Põhiõpikud:
http://ati.ttu.ee/wiki/index.php/IAG0582_-_Programmeerimine_II
Viktor Leppikson. Programmeerimine C-keeles. Külim, 1997.
Täiendav kirjandus:
http://www.tud.ttu.ee/im/Vladimir.Viies/materials/IAG0581%2cIAG0582%2cPROGRAMMEERIMINE/
The GNU C LIbrary, http://www.gnu.org/software/libc/manual/html_node/
The GNU C LIbrary, http://www.delorie.com/gnu/docs/glibc/libc_toc.html
õppevormid ja mahud
päevaõpe: nädalatunnid
4.0
sessioonõppe töömahud (semestris):
loenguid
1.0
loenguid
-
praktikume
3.0
praktikume
-
harjutusi
0.0
harjutusi
-
vastutav õppejõud
-
ÕPPEJÕU AINEKAVA INFO
õppetöö semester
õpetav õppejõud / üksus
õppetöö keel
Laiendatud ainekava
2025/2026 kevad
Risto Heinsar, IA - arvutisüsteemide instituut
inglise keel, eesti keel
    IAX0584_eesti.pdf 
    kuva rohkem
    2024/2025 kevad
    Vladimir Viies, IA - arvutisüsteemide instituut
    inglise keel, eesti keel
      IAX0584 eesti5.pdf 
      Risto Heinsar, IA - arvutisüsteemide instituut
      inglise keel, eesti keel
        IAX0584_hindamiskriteeriumid_eesti.pdf 
        2024/2025 sügis
        Lembit Jürimägi, IA - arvutisüsteemide instituut
        eesti keel
          IAX0584_eesti.pdf 
          2023/2024 kevad
          Risto Heinsar, IA - arvutisüsteemide instituut
          inglise keel, eesti keel
            Lembit Jürimägi, IA - arvutisüsteemide instituut
            inglise keel, eesti keel
              Vladimir Viies, IA - arvutisüsteemide instituut
              inglise keel, eesti keel
                2023/2024 sügis
                Lembit Jürimägi, IA - arvutisüsteemide instituut
                eesti keel
                  2022/2023 kevad
                  Risto Heinsar, IA - arvutisüsteemide instituut
                  inglise keel, eesti keel
                    Vladimir Viies, IA - arvutisüsteemide instituut
                    inglise keel, eesti keel
                      2022/2023 sügis
                      Lembit Jürimägi, IA - arvutisüsteemide instituut
                      eesti keel
                        2021/2022 kevad
                        Vladimir Viies, IA - arvutisüsteemide instituut
                        eesti keel
                          IAX0584_eesti.pdf 
                          Risto Heinsar, IA - arvutisüsteemide instituut
                          inglise keel
                            IAX0584_eesti.pdf 
                            Lembit Jürimägi, IA - arvutisüsteemide instituut
                            inglise keel, eesti keel
                              IAX0584_eesti.pdf 
                              2021/2022 sügis
                              Vladimir Viies, IA - arvutisüsteemide instituut
                              inglise keel, eesti keel
                                IAX0584_eesti.pdf 
                                2020/2021 kevad
                                Vladimir Viies, IA - arvutisüsteemide instituut
                                eesti keel
                                  IAX0584_eesti.pdf 
                                  Risto Heinsar, IA - arvutisüsteemide instituut
                                  inglise keel
                                    IAX0584_eesti.pdf 
                                    Lembit Jürimägi, IA - arvutisüsteemide instituut
                                    eesti keel
                                      IAX0584_eesti.pdf 
                                      2020/2021 sügis
                                      Vladimir Viies, IA - arvutisüsteemide instituut
                                      inglise keel, eesti keel
                                        IAX0584_eesti.pdf 
                                        2019/2020 kevad
                                        Risto Heinsar, IA - arvutisüsteemide instituut
                                        inglise keel
                                          IAX0584_eesti.pdf 
                                          Vladimir Viies, IA - arvutisüsteemide instituut
                                          inglise keel, eesti keel
                                            IAX0584_eesti.pdf 
                                            2019/2020 sügis
                                            Lembit Jürimägi, IA - arvutisüsteemide instituut
                                            inglise keel, eesti keel
                                              IAX0584_eesti.pdf 
                                              Vladimir Viies, IA - arvutisüsteemide instituut
                                              inglise keel, eesti keel
                                                IAX0584_eesti.pdf 
                                                Risto Heinsar, IA - arvutisüsteemide instituut
                                                inglise keel, eesti keel
                                                  IAX0584_eesti.pdf 
                                                  2018/2019 kevad
                                                  Vladimir Viies, IA - arvutisüsteemide instituut
                                                  inglise keel, eesti keel
                                                    IAX0584_eesti.pdf 
                                                    2018/2019 sügis
                                                    Vladimir Viies, IA - arvutisüsteemide instituut
                                                    inglise keel, eesti keel
                                                      IAX0584_eesti.pdf 
                                                      Risto Heinsar, IA - arvutisüsteemide instituut
                                                      inglise keel
                                                        IAX0584_eesti.pdf 
                                                        2017/2018 kevad
                                                        Vladimir Viies, IA - arvutisüsteemide instituut
                                                        eesti keel
                                                          IAX0584_eesti.pdf 
                                                          Ainekaart eesti keeles
                                                          Ainekaart inglise keeles