C/C++ alused (ICS0017)
PÕHIANDMED
õppeaine register
A - põhiregister
õppeaine kood
ICS0017
õppeaine nimetus eesti k
C/C++ alused
õppeaine nimetus inglise k
Fundamentals of C/C++ Programming
õppeaine maht AP
-
õppeaine maht EAP
6.00
deklareeritav
jah
õppeaine täies mahus läbitav e-õppes
ei
kontrollivorm
arvestus
õpetamise semester
sügis-kevad
õppekeel
eesti keel
inglise keel
Õppekavad, millesse aine kuulub
kavaversiooni kood
aine kohustuslik
IAFM21/24
ei
IVSB17/25
ei
Ainet õpetavad struktuuriüksused
IC - IT kolledž
Ainekaardi link
Tunniplaani link
Vaata tunniplaani
Versioon:
VERSIOONIPÕHISED ANDMED
õppeaine eesmärgid eesti k
- Tutvustada tarkvara objekt-orienteeritud projekteerimise ja programmeerimise meetodite põhimõtteid.
- Õpetada programeerimist keeles C++.
- Treenida üliõpilasi et nad omandaksid teatud praktlise programmeerimise oskuse.
õppeaine eesmärgid inglise k
- Introduce the paradigms and methods of software object oriented design and implementation.
- Teach programming in C++ programming language.
- Train the students to give them some practical experience in programming.
õppeaine õpiväljundid eesti k.
Kursuse edukalt lõpetanu:
- valdab objekt-orienteeritud projekteerimise ja programmeerimise meetodeid;
- tunneb C++ keele põhilisi reegleid ja standardseid vahendeid;
- oskab praktiliselt koostada keskmise raskusastmega C++-keelseid programme alates algoritmi koostamisest kuni koodi veavabaks silumiseni.
õppeaine õpiväljundid ingl k.
After successfully completing this course the student:
- knows the methods of object oriented software development;
- knows the main rules and standard tools of C++;
- is able to write middle difficulty programs in C++ starting from designing the algorithm and ending with debugging and testing the code.
õppeaine sisu lühikirjeldus eesti k
1. C++ kui täiuslikum C: Unicode, viide (reference), funktsiooni parameetrite vaikeväärtused, funktsioonide ülelaadimine (function overloading), tüüp bool, mäluhalduse operaatorid jne.
2. Objekt-orienteeritud lähenemisviisi alused: objekt, klass, atribuut, meetod, kapseldamine, pärimine. polümorfism jne.
3. Objekt-orienteeritud lähenemisviisi realisatsioon C++ vahenditega: klassi deklareerimine; objektide loomise viisid; atribuutide ja meetodite kättesaadavus (accessebility); konstruktor ja destruktor; pärimine; virtuaalsed funktsioonid; abstraktsed klassid.
4. C++ täiendavad vahendid: kopeeriv konstruktor; viit this; konstantsed objektid; klassi sõbrad (friend); operaatorite ülelaadimine (operator overloading); klassi static liikmed; erind (exception); tüübi pööramine (cast); atribuutide initsialiseerimine, mallid (template) jne.
5. C++ standardsed klassid ja mallid ning töö nendega: sisend / väljund; erind; sõne (string), konteinerid; lambda avaldised (lambda expressions) jt.
6. Lõimed ja nende haldamine C++ vahenditega.

Üliõpilane, kes tahab end kursusele registreerida, peab olema edukalt läbinud vähemalt ühe kursuse järgnevast neljast: ICS0004 Programmeerimise alused, IAX0583 Programmeerimine I, IAX0584 Programmeerimine II, IAS0090 Algoritmid ja andmestruktuurid.
õppeaine sisu lühikirjeldus ingl k
1. C++ as enhanced C: Unicode characters, references, default arguments, function overloading, boolean variables, memory allocating operator, etc.
2. Basics of object oriented approach: object, class, attribute, method, encapsulation, inheritance, polymorphism, etc.
3. Object oriented approach in C++: declaration of classes, creation of objects, accessebility of methods and attributes, contructor, destructor, inheritance, virtual functions, abstract classes.
4. C++ additional tools: copying constructor, pointer this, constant objects, friend classes, operator overloading, static members of class, exceptions, casting, initialization of attributes, templates, etc.
5. C++ standard classes and templates and operating with them: input / output, exception, string, containers, lambda expressions, etc.
6. Threads and C++ tools for thread synchronization.

This course is for students who have successfully passed at least one of the folllowing four courses: ICS0004 Fundamentals of Programming, IAX0583 Programming I, IAX0584 Programming II, IAS0090 Algorithms and Data Structures.
hindamisviis eesti k
Arvestuse saamiseks tuleb esitada ja kaitsta kursusetöö, mis koosneb kolmest C++ keeles kirjutatud korrektselt töötavast programmist.
hindamisviis ingl k
To pass the course, the student has to present the coursework consisting of three correctly running applications in C++.
iseseisev töö eesti k
Koduseid töid otseselt ei ole kuid need, kes ei jõua kursusetööd arvutiklassis lõpetada või ei tule tundi peavad neid lõpetama / tegema kodus.
iseseisev töö ingl k
There is no homework but the students who were not able to finish the coursework in the classroom or did not attend the lesson should finish / perform it at home.
õppekirjandus
All the textbooks dealing with programming in C++ beginners are applicable but they 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 kevad
Anna Kyselova, IC - IT kolledž
inglise keel
    kuva rohkem
    2025/2026 sügis
    Anna Kyselova, IC - IT kolledž
    inglise keel
      ICS0017_hindamiskriteeriumid.pdf 
      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
              ICS0017_hindamiskriteeriumid.pdf 
              2020/2021 sügis
              Viktor Leppikson, IA - arvutisüsteemide instituut
              inglise keel
                ICS0017_hindamiskriteeriumid.pdf 
                2019/2020 sügis
                Viktor Leppikson, IA - arvutisüsteemide instituut
                inglise keel
                  ICS0017_hindamiskriteeriumid.pdf 
                  2018/2019 sügis
                  Viktor Leppikson, IA - arvutisüsteemide instituut
                  inglise keel
                    ICS0017_hindamiskriteeriumid.pdf 
                    Ainekaart eesti keeles
                    Ainekaart inglise keeles