Objektinis programavimas

  • Dalyko kodas: INF 1007
  • Dalyko grupė: C
  • Apimtis ECTS kreditais: 6
  • Pavadinimas anglų kalba: Object Oriented Programming
  • Dalyko aprašo rengėjas(-ai):

    Lektorius Vytautas Barzdaitis

Dalyko anotacija lietuvių kalba

Dalykas skirtas C++ objektinio programavimo priemonių parengimo ir naudojimo principų studijoms. Studentai supažindinami su GITHUB repozitorija, rekursija, rodykle, simbolių eilučių, abstrakčių tipų sąvokomis ir jų realizavimu bei panaudojimu. Suteikiami objektinio programavimo pagrindai, mokinama formuoti objektinius programų modelius. Analizuojamos klasių aprašymo priemonės, klasių vidinės struktūros paslėpimas, išorinės sąsajos aprašymo priemonės, savybių paveldėjimas klasių šeimose ir jų polimorfiškumas, klasių kompozicijos, kritinių situacijų kontrolės bei šabloninio programavimo priemonės, susietų sąrašų tvarkymo klasės.

Dalyko anotacija užsienio kalba

Subject is suited to learn C++ programming language as object-oriented programming tools, and to get use it in simple examples. Understands GitHub repositories. Students are introduced to recursion, pointers, string data type, abstract data type, and concepts of their realization. Basics of object-oriented programming are provided, developing of the object models and applications are introduced. Overview of classes, objects, methods, descriptions for hiding the internal structure and external links are given. Characteristics of inheritance, polymorphism, composition classes, critical situations control, planning of graphical user interface, programming of it are explained.

Būtinas pasirengimas dalyko studijoms

Programavimo pagindai

Dalyko studijų rezultatai

1. Gebės parinkti ir taikyti praktinėms problemoms spręsti tinkamus ir galimus naudoti algoritmus.
2. Gebės naudoti GitHub repozitoriją.
3. Žinos ir supras rekursiją, jos praktinę naudą.
4. Žinos ir supras rodyklių duomenų tipą.
5. Gebės pritaikyti objektinio programavimo paradigmas.
6. Žinos ir supras objektų trurinčių statinius ir dinaminius duomenų laukus skirtumus.
7. Žinos ir supras algortimavimo principus, suras klaidas veikiančioje ir/arba neveikiančioje programoje.
8. Žinos ir supras grafinės aplinkos kūrimo principus.
9. Gebės parinkti ir taikyti rezultatų interpretavimo įrankius, priemones.

Dalyko turinys

1. Procedūrinio ir objektinio programavimo skirtumai.
2. Struktūros duomenų tipas. Rekursija. Rodyklės.
3. Objektinio programavimo sąvokos: objektas, klasė, metodas, inkapsuliacija, polimorfizmas, paveldėjimas, Konstruktorius/destruktorius, vardų sritis, virtualūs metodai, šablonai.
4. Abstraktūs duomenų tipai. Klasių projektavimas.
5. Klasės su dinamiškai tvarkomais duomenų laukais
6. Kritinės situacijos, jų aptikimas ir apdorojimas, kritinių situacijų grupavimas.
7. GitHub
8. Grafinės vartotojo sąsajos projektavimas.

Dalyko studijos valandomis

Praktikumas 75 val.
Savarankiškas darbas 85 val.
Iš viso: 160 val.

Studijų rezultatų vertinimas

Egzaminas (50%), kolokviumas (17%), praktinių darbų gynimai (33%).

Literatūra

1. 2017 V.Barzdaitis „Objektinio progra- mavimo pagrindai“ VDU, moodle aplinka Kurso medžiaga moodle paskyroje:
http://moodle.vdu.lt
2. 2017 C++ Program-ming Language
OOP Prieiga internete https://www3.ntu.edu.sg/home/ehchua/programming/cpp/cp3_OOP.html
3. 2008 A.Vidžiūnas „C++ ir objektinis progra- mavimas“ 10
Papildoma literatūra
1. 2017 Visual Studio Quick Reference Guidance SlideShare Nemokami SlideShare šaltiniai:
https://vsarquickguide.codeplex.com
2. 2017 Visual C++ Developer Center
Prieiga internete Free resources on Internet:
https://msdn.microsoft.com/en-us/vstudio/aa718325.aspx
3. 2017 Programavimo CPP kalba žinynai, pavyzdžiai, forumai
Prieiga internete http://www.bogotobogo.com/ cplusplus/cpptut.php
http://www.cplusplus.com
http://www.learncpp.com/
http://stackoverflow.com/questions/ 388242/
the-definitive-c-book-guide-and-list
https://www.quora.com/What-are-the-best-C++-books