Programming III
BASIC DATA
course listing
A - main register
course code
IAX0586
course title in Estonian
Programmeerimine III
course title in English
Programming III
course volume CP
-
ECTS credits
6.00
to be declared
yes
fully online course
not
assessment form
Examination
teaching semester
autumn
language of instruction
Estonian
English
Prerequisite(s)
Prerequisite 1
Programming I (IAX0583)
Prerequisite 2
Programming II (IAX0584)
The course is a prerequisite
Programming IV (IAX0587)
Study programmes that contain the course
code of the study programme version
course compulsory
IACB17/26
yes
Structural units teaching the course
IA - Department of Computer Systems
Course description link
Timetable link
View the timetable
Version:
VERSION SPECIFIC DATA
course aims in Estonian
Aine eesmärk on:
- anda üliõpilastele baasteadmised objekt-orienteeritud programmeerimisest ja keelest C++;
- anda üliõpilastele baasteadmised programmeerimises kasutatavatest andmestruktuuridest ja algoritmidest;
- anda üliõpilastele oskused vajaduse korral ise realiseerida andmestruktuuridega töötamise tarkvara;
- anda üliõpilstele oskused kasutada C++ standardseid andmestruktuure ja algoritme;
- treenida üliõpilasi et nad omandaksid praktilise C++-s programmeerimise oskuse.
course aims in English
The aim of this course is to:
- provide students with basic knowledge of object-oriented programming and the C++ language;
- provide students with basic knowledge of data structures and algorithms used in programming;
- provide students with the skills to implement software for working with data structures themselves, if necessary;
- provide students with the skills to use standard C++ data structures and algorithms;
- train students to acquire practical programming skills in C++.
learning outcomes in the course in Est.
Aine läbinud üliõpilane:
- oskab projekteerida tarkvara, võttes aluseks objekt-orienteeritud lähenemisviisi;
- analüüsib programmeerimises kasutatavaid andmestruktuure ja algoritme ning valib konkreetse probleemi lahendamiseks sobivaima;
- kirjutab lihtsamat tarkvara C++-s.
learning outcomes in the course in Eng.
A student who has completed the subject:
- is able to design software based on object-oriented approach;
- analyzes data structures and algorithms used in programming and selects those that are best suited for solving his/her specific problem;
- writes simple software in C++.
brief description of the course in Estonian
C++ täiendused C-le: mälu küsimine ja vabastamine, Unicode realisatsioon, vaikeväärtused funktsiooni argumentidele, viited, erindid
Objekt-orienteeritud programmeerimise paradigmad ja nende realisatsioon C++-s: klassid, objektid, atribuudid, meetodid, kapseldamine, konstruktor, destruktor, pärimine, polümorfism.
Täiendavad teadmised C++-st: C struct roll C++-s, kopeeriv konstruktor, viit this, sõbrad, operaatorite ülelaadimine, staatilised liikmed, konstantsed objektid, tüübi pööramine, uued võtmesõnad nullptr ja bool.
Enamkasutatavad C++ standardsed klassid: sisend- ja väljundvood, failioperatsioonid C-s ja C++-s, erindid, sõned, klass stingstream.
Lineaarsed andmestruktuurid: ahelloend ja massiiv, operatsioonid ahelloenditega (läbikäik, kirjete lisamine ja kustutamine), mitme viidaga ahelloendid, ringahelloendid, pinu, järjekord.
Mittelineaarsed andmestruktuurid: kahendpuu, operatsioonid kahendpuuga (läbikäik, kirjete lisamine ja eemaldamine), puu tasakaalustamine, AVL puud, bitikaupa operatsioonid, digitaalne otsingupuu, trie tüüpi puud, paljuharulised puud, puna-must puu, prioriteetidega järjekord ja vasakpoolne puu, paiskepaigutus, kokkupõrked ja nendest ülesaamine.
STL algoritmid: viidad funktsioonidele, lambda funktsioonid, mähkivad funktsioonid, standardfunktsioonid find, find_if, for_each, jt.
STL konteinerid: mallid, võtmesõna auto, vektorid, iteraatorid, ühe ja kahe viidaga loendid, abistavad klassid array, stack, queue, jt., paarid, sõnastikud.
brief description of the course in English
C++ additions to C: allocating and releasing of memory, Unicode implementation, default values for function arguments, references, exceptions.
Paradigmas of object-oriented programmimg and their implementation in C++: classes, objects, attributes, methods, encapsulation, constructor, destructor, inheritance, polymorphism.
Additional knowledge about C++: using of C struct in C++, copy constructor, pointer this, friends, operator overloading, static members, constant objects, casting, keywords bool and nullptr.
The most used C++ standard classes: input and output streams, file handling in C and C++, exceptions, text processing, class stringstream.
Linear data structures: array and linked list, operations with linked list (traversal, inserting and removing of records), doubly linked lists, circular linked lists, stack, queue.
Nonlinear data structures: binary tree and operations with it (traversal, inserting and removing of nodes), balancing, AVL tree, bitwise opoerations in C / C++, digital search tree, trie, multiway trees, red-black tree, priority queues, leftist tree, hashing, solutions for collisions.
STL algorithms: pointers to functions, lanbda expressions, function wrappers standard functions (find, find_if, for_each, sort, etc.). STL containers: templates, keyword auto, vectors, iterators, lists and forward lists, convenient containers (array, stack, etc.), pairs, maps.
type of assessment in Estonian
Eksami hinne väljastatakse kahe kursususetöö põhjal. Kursusetööde raamis teostatud tarkvara töövõime kontroll toimud õppejõu poolt koostatud testide alusel. Kummagi töö eest võib saada maksimaalselt 30 punkti. Puudused nagu osa testide mittetöötamine, kõrvalekaldumine spetsifikatsioonist, esitamise tähtaja ületamine jne.vähendab punktide arvu. Alumine lävi on 35 punkti (“1”), hinde “5” saab 50 ja enama punkti eest.
type of assessment in English
The examination grade bases on two coursework assignments. The software functionality is checked with tests prepared by the teacher. A maximum of 30 points can be obtained for each assignment. Deficiencies such as some tests not working, deviations from the specification, exceeding the submission deadline, etc. reduce the number of points. The lower threshold is 35 points (“1”), a grade of “5” is obtained for 50 and more points
independent study in Estonian
-
independent study in English
-
study literature
https://www.tud.ttu.ee/im/Viktor.Leppikson/
https://en.cppreference.com/w/
Ivor Horton Beginning C++ 23: From Beginner to Pro, 2023, ISBN 978-1484293423 või vanemad väljaanded
Marc Gregoire Professional C++, 2024, ISBN 978-1394193172 või vanemad väljaanded
study forms and load
daytime study: weekly hours
4.0
session-based study work load (in a semester):
lectures
2.0
lectures
-
practices
2.0
practices
-
exercises
0.0
exercises
-
lecturer in charge
Viktor Leppikson, lektor (IA - arvutisüsteemide instituut)
LECTURER SYLLABUS INFO
semester of studies
teaching lecturer / unit
language of instruction
Extended syllabus
2025/2026 autumn
Viktor Leppikson, IA - Department of Computer Systems
Estonian
    display more
    2024/2025 spring
    Viktor Leppikson, IA - Department of Computer Systems
    Estonian
      Course description in Estonian
      Course description in English