Programmeerimine I (IAX0583)
PÕHIANDMED
õppeaine register
A - põhiregister
õppeaine kood
IAX0583
õppeaine nimetus eesti k
Programmeerimine I
õppeaine nimetus inglise k
Programming I
õppeaine maht AP
-
õppeaine maht EAP
6.00
deklareeritav
jah
kontrollivorm
eksam
õpetamise semester
sügis-kevad
õppekeel
eesti keel
inglise keel
Aine on eelduseks
Programmeerimine II (IAX0584)
Programmeerimine III (IAX0586)
Tarkvara projekt (IAS1410)
Õppekavad, millesse aine kuulub
kavaversiooni kood
aine kohustuslik
EAAB16/25
jah
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
- arendada loogilist ja loomingulist mõtlemist originaalsete ülesannete lahendamise kaudu;
- tutvuda algoritmi esitamisviisidega ja koostamise strateegiatega, arvusüsteemidega, erinevate andmetüüpide esitamisega arvutis;
- õppida algoritmi töö kontrolliks koostama programmi kõrgtaseme programmeerimiskeeltes Python, C jt;
- tutvuda erinevate arendus- ja programmeerimisekeskkondadega.
õppeaine eesmärgid inglise k
- to develop both creative and analytical thinking through solving original tasks;
- to introduce algorithms, means to present them and strategies of creating them, numeral systems, ways to store and process various data types in computers;
- to learn to implement algorithms in high-level programming language such as C, Python etc.;
- to introduce various software development environments.
õppeaine õpiväljundid eesti k.
Aine läbinud üliõpilane:
- tunneb arvusüsteeme ja oskab teisendada arve ühest süsteemist teise;
- kirjeldab ülesande lahendamiseks vajalikke andmeid:
1. algandmed,
2. tulemused,
3. (abi)muutujad;
- koostab ülesande lahendamise algoritmi;
- kirjutab algoritmile üks ühele vastava programmi (Python, C);
- jaotab ülesande alamülesanneteks;
- kasutab alamprogramme (funktsioone).
õppeaine õpiväljundid ingl k.
Having finished the study of the subject the student:
- recognizes various numeral systems and is able to convert numbers from one system to another;
-describes the data that is necessary for solving a task, such as:
1. parameters,
2. results,
3. variables
- constructs an algorithm that solves a task;
- writes a piece of software in C that implements said algorithm;
- separates a task into subtasks;
- uses subprograms (functions) in software development.
õppeaine sisu lühikirjeldus eesti k
Algoritmi mõiste, esitamise viisid ja koostamise strateegiad ning erinevad esitamisvahendid. Ülesande jagamine alamülesanneteks.
Keeled. Keelte klassifikatsioon. Algoritmilise keele mõiste.
Arvuti (tarkvara) arhitektuur. Programmi elutsükkel arvutis. Käsurea kasutamine, käsurea argumendid.
Tehete järjekord. Hargnemised (sh ka mitme variandiga). Tsüklid (eel- ja järelkontrolliga).
Positsioonilised ja mittepositsioonilised arvusüsteemid. Arvude teisendamine ühest arvusüsteemist teise. Püsi- ja ujukomaga arvud. Pseudojuhuslikud arvud.
Muutujate deklareerimine. Globaalsed ja lokaalsed muutujad. Erinevad andmetüübid ning nende esitus arvutis. Andmete teisendamine ühest tüübist teise.
Massiivide deklareerimine ja indekseerimine. Mitmedimensionaalsed massiivid. Toimingud massiividega (otsimine, järjestamine, andmete analüüs). Sõnede olemus ja manipuleerimine. Andmete väljastamise formateerimine.
Kalendriülesanded.
Alamprogrammide loomine, nendevaheline infovahetus (parameetrid, tagastus), väljakutsumine. Muutuja skoop ja eluiga.
Failid, lugemine ja kirjutamine.
õppeaine sisu lühikirjeldus ingl k
Definition of an algorithm, ways to present and construct algorithms. Separating a task into subtasks.
Languages. Language classification. Algorithmic languages.
Computer architecture (software layer). Program life-cycle. Command line interface, command line parameters.
Operator precedence. Conditionals and control flow statements (including several conditions). Loops with condition checking before and after the statement.
Positional and non-positional numeral systems. Converting numbers from one numeral system to another. Fixed point and floating point numbers. Pseudorandom numbers.
Declaring variables. Global and local variables. Various data types and their representation in a computer. Converting data from one type to another.
Declaring and indexing of arrays. Multidimensional arrays. Operations with arrays (searching, sorting, statistical analysis). Strings and string operations. Formatting results.
Time and date based tasks.
Creating subroutines, exchanging data between them (parameters, return values). Calling subroutines. Variable scope and lifespan.
Files, accessing files for reading and writing.
hindamisviis eesti k
Teadmiste kontroll toimub tunniülesannete lahendamise käigus, ühel kontrolltööl ja kirjalikul eksamil. Üliõpilane peab esitama ja kaitsma kaks iseseisvat tööd (algoritmid ja programmid) ning vähemalt 3/4 kõikidest harjutustes ja praktikumides lahendatud ülesannetest. Kontrolltöö hinnatakse 100-pallilises süsteemis. Kui hinne kontrolltöö eest on min 51 palli – pääseb üliõpilane kirjalikule eksamile. Eksamil kontrollitakse üliõpilase nii teoreetilisi teadmisi kui ka oskust koostada algoritme ja programme.
hindamisviis ingl k
The knowledge is checked during the solving of class tasks, one test and a written exam. The student must present and defend two independent works (algorithms and programs) and at least 3/4 of all the tasks solved in exercises and practicals. The test is evaluated in a 100-point system. If the grade for the test is at least 51 points - the student can take the written exam. The exam tests the student's theoretical knowledge as well as the ability to create algorithms and programs.
iseseisev töö eesti k
Iseseisev töö seisneb teoreetiliste materjalide läbitöötamises ja praktikumideks ning harjutusteks valmistumises (kasutades seejuures e-õppe materjale).
iseseisev töö ingl k
Individual work includes the research of available theoretical resources and preparations for lab exercises and seminars (including the use of e-study capabilities).
õppekirjandus
Põhiõpikud:
http://ati.ttu.ee/wiki/e/index.php/IAG0581_-_Programmeerimine_I
Allen Downey "How to Think Like a Computer Scientist: Learning with Python" http://greenteapress.com/thinkpython/thinkpython.pdf
Pythoni ametlik dokumentatsioon: https://docs.python.org/3.4/
C Programming Language, 2nd Edition 2nd Edition. Brian W. Kernighan, Dennis M. Ritchie, Pearson, 1988.
Teodor Luczkowski. Baasteadmised programmeerimiskeelest C++. TTÜ kirjastus, 2000.

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
Kursuse alused: https://blue.pri.ee/ttu
õ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 sügis
Risto Heinsar, IA - arvutisüsteemide instituut
inglise keel, eesti keel
    IAX0583_hindamiskriteeriumid_eesti.pdf 
    Vladimir Viies, IA - arvutisüsteemide instituut
    inglise keel, eesti keel
      Lembit Jürimägi, IA - arvutisüsteemide instituut
      inglise keel, eesti keel
        IAX0583_hindamiskriteeriumid_eesti_2025.pdf 
        kuva rohkem
        2024/2025 kevad
        Vladimir Viies, IA - arvutisüsteemide instituut
        inglise keel, eesti keel
          IAX0583_hindamiskriteeriumid_eesti.pdf 
          2024/2025 sügis
          Lembit Jürimägi, IA - arvutisüsteemide instituut
          eesti keel
            IAX0583_hindamiskriteeriumid_eesti.pdf 
            Vladimir Viies, IA - arvutisüsteemide instituut
            inglise keel, eesti keel
              Risto Heinsar, IA - arvutisüsteemide instituut
              inglise keel, eesti keel
                IAX0583_hindamiskriteeriumid_eesti.pdf 
                2023/2024 kevad
                Vladimir Viies, IA - arvutisüsteemide instituut
                inglise keel, eesti keel
                  2023/2024 sügis
                  Risto Heinsar, IA - arvutisüsteemide instituut
                  inglise keel, eesti keel
                    Vladimir Viies, IA - arvutisüsteemide instituut
                    inglise keel, eesti keel
                      2022/2023 kevad
                      Vladimir Viies, IA - arvutisüsteemide instituut
                      inglise keel, eesti keel
                        Lembit Jürimägi, IA - arvutisüsteemide instituut
                        eesti keel
                          2022/2023 sügis
                          Risto Heinsar, IA - arvutisüsteemide instituut
                          inglise keel, eesti keel
                            Vladimir Viies, IA - arvutisüsteemide instituut
                            inglise keel, eesti keel
                              2021/2022 kevad
                              Risto Heinsar, IA - arvutisüsteemide instituut
                              eesti keel
                                IAX0583_hindamiskriteeriumid_eesti.pdf 
                                Vladimir Viies, IA - arvutisüsteemide instituut
                                eesti keel
                                  IAX0583_hindamiskriteeriumid_eesti.pdf 
                                  2021/2022 sügis
                                  Vladimir Viies, IA - arvutisüsteemide instituut
                                  inglise keel, eesti keel
                                    IAX0583_hindamiskriteeriumid_eesti.pdf 
                                    Risto Heinsar, IA - arvutisüsteemide instituut
                                    inglise keel, eesti keel
                                      IAX0583_hindamiskriteeriumid_eesti.pdf 
                                      Lembit Jürimägi, IA - arvutisüsteemide instituut
                                      inglise keel, eesti keel
                                        IAX0583_hindamiskriteeriumid_eesti.pdf 
                                        2020/2021 kevad
                                        Risto Heinsar, IA - arvutisüsteemide instituut
                                        eesti keel
                                          IAX0583_hindamiskriteeriumid_eesti.pdf 
                                          Vladimir Viies, IA - arvutisüsteemide instituut
                                          eesti keel
                                            IAX0583_hindamiskriteeriumid_eesti.pdf 
                                            Lembit Jürimägi, IA - arvutisüsteemide instituut
                                            eesti keel
                                              IAX0583_hindamiskriteeriumid_eesti.pdf 
                                              2020/2021 sügis
                                              Risto Heinsar, IA - arvutisüsteemide instituut
                                              inglise keel, eesti keel
                                                IAX0583_hindamiskriteeriumid_eesti.pdf 
                                                Lembit Jürimägi, IA - arvutisüsteemide instituut
                                                eesti keel
                                                  IAX0583_hindamiskriteeriumid_eesti.pdf 
                                                  Vladimir Viies, IA - arvutisüsteemide instituut
                                                  inglise keel, eesti keel
                                                    IAX0583_hindamiskriteeriumid_eesti.pdf 
                                                    2019/2020 kevad
                                                    Risto Heinsar, IA - arvutisüsteemide instituut
                                                    inglise keel
                                                      IAX0583_hindamiskriteeriumid_eesti.pdf 
                                                      Vladimir Viies, IA - arvutisüsteemide instituut
                                                      inglise keel, eesti keel
                                                        IAX0583_hindamiskriteeriumid_eesti.pdf 
                                                        2019/2020 sügis
                                                        Risto Heinsar, IA - arvutisüsteemide instituut
                                                        inglise keel, eesti keel
                                                          IAX0583_hindamiskriteeriumid_eesti.pdf 
                                                          Vladimir Viies, IA - arvutisüsteemide instituut
                                                          inglise keel, eesti keel
                                                            IAX0583_hindamiskriteeriumid_eesti.pdf 
                                                            2018/2019 kevad
                                                            Vladimir Viies, IA - arvutisüsteemide instituut
                                                            inglise keel, eesti keel
                                                              IAX0583_hindamiskriteeriumid_eesti.pdf 
                                                              2018/2019 sügis
                                                              Vladimir Viies, IA - arvutisüsteemide instituut
                                                              inglise keel, eesti keel
                                                                IAX0583_hindamiskriteeriumid_eesti.pdf 
                                                                2017/2018 kevad
                                                                Vladimir Viies, IA - arvutisüsteemide instituut
                                                                eesti keel
                                                                  IAX0583_hindamiskriteeriumid_eesti.pdf 
                                                                  2017/2018 sügis
                                                                  Vladimir Viies, IA - arvutisüsteemide instituut
                                                                  inglise keel, eesti keel
                                                                    IAX0583_hindamiskriteeriumid_eesti.pdf 
                                                                    Ainekaart eesti keeles
                                                                    Ainekaart inglise keeles