Programmeerimise alused (ICS0004)
PÕHIANDMED
õppeaine register
A - põhiregister
õppeaine kood
ICS0004
õppeaine nimetus eesti k
Programmeerimise alused
õppeaine nimetus inglise k
Fundamentals of Programming
õppeaine maht AP
-
õppeaine maht EAP
6.00
deklareeritav
jah
kontrollivorm
eksam
õpetamise semester
sügis
õppekeel
eesti keel
inglise keel
Aine on eelduseks
Algoritmid ja andmestruktuurid (I707)
Algoritmid ja andmestruktuurid (ICS0005)
Automaattestimine (ICS0024)
Ruby algajatele (ICS0013)
Õppekavad, millesse aine kuulub
kavaversiooni kood
aine kohustuslik
IVSB17/25
jah
Ainet õpetavad struktuuriüksused
IC - IT kolledž
Ainekaardi link
Tunniplaani link
Vaata tunniplaani
Versioon:
VERSIOONIPÕHISED ANDMED
õppeaine eesmärgid eesti k
- Tutvustada tarkvara arendamisega seotud põhilisi mõisteid, töövahendeid ja probleeme.
- Õpetada algoritmide koostamise ja programmikoodi kirjutamise aluseid C-keele baasil.
- Harjutamise kaudu omandavad üliõpilased teatud praktlise programmeerimise oskuse.
õppeaine eesmärgid inglise k
- Introduce the software development terms, tools and problems.
- Teach the basics of design of algorithms and their implementation using the C programming language.
- Throw practice the students acquire some practical experience in programming.
õppeaine õpiväljundid eesti k.
Kursuse lõpetanu:
- tunneb programmeerimisega soetud termineid;
- teab kuidas arvuti salvestab informatsiooni ja täidab programmi;
- teab C-keele põhilisi reegleid;
- oskab praktiliselt koostada lihtsamaid C-keelseid programme alates algoritmi koostamisest kuni koodi veavabaks silumiseni;
- omab ettekujutust kaasaegse tarkvara arendusega seotud probleemidest ja töövahenditest.
õppeaine õpiväljundid ingl k.
After successfully completing this course the student:
- knows the software development terms;
- knows how a computer is operating and storing information;
- knows the main rules of C programming;
- is able to write simple programs in C starting from designing the algorithm and ending with debugging and testing the code;
- is informed about modern software development tools and problems.
õppeaine sisu lühikirjeldus eesti k
- Programmeerimise algmõisted: algoritm, voogdiagramm, lähtekood, kompilaator, linkur, teek, mälu ja andmete salvestamine, positsioonilised arvusüsteemid, ASCII tabel, protsessor, registrid, jne.
- C-keele alused: koodi kirjutamise üldised reeglid, funktsioon, andmetüübid, muutujate deklareerimine, lihtsamad andmete sisestamise ja väljastamise vahendid, konstandid, aritmeetikatehted, võrdlustehted, loogikatehted, massiivid, valikulaused if ja if else, korduslaused while ja for, tsükli katkestus break, eelprotsessor.
- C-keel süvendatumalt: avaldised eritüübiliste operandidega, tüübi pööramine, tehete järjekord, inkrement, valikulause switch, märgendid, korduslause do while, suunamislaused continue ja goto, muutujate nähtavus ja eluiga, static muutujad ja funktsioonid.
- Viidad: viida tähendus, dünaamiline mälujaotus, viitade aritmeetika, viitade kasutamine, stringid ja operatsioonid nendega.
- Lühiülevaade C-keele täiendavatest võimalustest: struct kirjed, töö failidega jt.
- Tarkvara arenduse tänapäevased meetodid ja probleemid: tarkvara elutsükkel, struktuuriline ja objekt-orienteeritud projekteerimine, enimkasutatud programmeerimiskeeled C++, C#, Python ning Java. .NET keskkond ja virtuaalne masin. Versioonide haldamine. Testimine ja selle tähtsus.
õppeaine sisu lühikirjeldus ingl k
- Basic terms: algorithm, flowchart, source code, compiler, linker, library, memory, data storing, numeral systems, ASCII table, processor, registers, etc.
- C programming basics: general rules for code writing; functions; data types; declaration of variables; simple input and output; constants; arithmetical, logical and relational operators; arrays; branching statements (if and if else); looping statements (while, for and break); preprocessor.
- Deeping into C-programming: expressions with operands of different types; casting; precedence of operators; incrementing; multiple choice statement (switch); labels and jump statements (goto and continue); variables visibility and lifetime; static variables and functions.
- Pointers: what they are, their usage, operations with pointers, dynamical memory allocation, tools for text processing.
- Further look into C: short overview about records (struct); file handling, etc.
- Modern tools and problems of software development: software life cycle; structured and object oriented design; most used programming languages C++, C#, Python, Java; virtual machine and .NET environment; version control; testing and its importance.
hindamisviis eesti k
Eksamieeldusi ja eraldi kontrolltöid ei ole. Praktiline programmide koostamine toimub arvutiklassis pärast iga teema läbivõtmist, kuid ilma eraldi hindamiseta. Eksamil tuleb 4 tunni jooksul etteantud spetsifikatsiooni põhjal koostada algoritm ning sellele vastav C-keelne kood ja testida saadud programm.
hindamisviis ingl k
There are neither prerequisites for examination nor evaluated tests during the lessons. There are programming exercises in the classroom after finishing each topic but they are not assessed. At the examination each student gets a specification presenting a problem and has to design the algorithm and implement it in C programming language.
iseseisev töö eesti k
Koduseid töid eraldis ei ole, kuid need, kes ei jõua harjutusi arvutiklassis lõpetada või ei osale tunnis, peavad need lõpetama / tegema kodus.
iseseisev töö ingl k
There are no homework but the students who were not able to finish the exercices in the classroom or did not attend the lesson should finish / perform them at home.
õppekirjandus
All the textbooks dealing with programming in C (or even C++) for beginners are applicable but the must not be older than 15 years. The slides used in lectures (http://www.tud.ttu.ee/im/Viktor.Leppikson/) cover all the topics.
õ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
-
ÕPPEJÕU AINEKAVA INFO
õppetöö semester
õpetav õppejõud / üksus
õppetöö keel
Laiendatud ainekava
2025/2026 sügis
Anna Kyselova, IC - IT kolledž
inglise keel
    kuva rohkem
    2024/2025 sügis
    Anna Kyselova, IC - IT kolledž
    inglise keel
      2023/2024 sügis
      Viktor Leppikson, IA - arvutisüsteemide instituut
      inglise keel
        2022/2023 sügis
        Viktor Leppikson, IA - arvutisüsteemide instituut
        inglise keel
          2021/2022 sügis
          Viktor Leppikson, IA - arvutisüsteemide instituut
          inglise keel
            ICS0004_hindamiskriteeriumid.pdf 
            2020/2021 sügis
            Viktor Leppikson, IA - arvutisüsteemide instituut
            inglise keel
              ICS0004_hindamiskriteeriumid.pdf 
              2019/2020 sügis
              Viktor Leppikson, IA - arvutisüsteemide instituut
              inglise keel
                ICS0004_hindamiskriteeriumid.pdf 
                Ainekaart eesti keeles
                Ainekaart inglise keeles