õ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):