course aims in Estonian
- 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.
course aims in English
- 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.
learning outcomes in the course in Est.
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.
learning outcomes in the course in Eng.
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.
brief description of the course in Estonian
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.
brief description of the course in English
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.
type of assessment in Estonian
Arvestuse saamiseks tuleb esitada ja kaitsta kursusetöö, mis koosneb kolmest C++ keeles kirjutatud korrektselt töötavast programmist.
type of assessment in English
To pass the course, the student has to present the coursework consisting of three correctly running applications in C++.
independent study in Estonian
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.
independent study in English
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.
study literature
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.
study forms and load
daytime study: weekly hours
4.0
session-based study work load (in a semester):