460-2043/02 – Programming II (PR II)

Gurantor departmentDepartment of Computer ScienceCredits3
Subject guarantordoc. Mgr. Miloš Kudělka, Ph.D.Subject version guarantordoc. Mgr. Miloš Kudělka, Ph.D.
Study levelundergraduate or graduateRequirementCompulsory
Year1Semestersummer
Study languageEnglish
Year of introduction2015/2016Year of cancellation2020/2021
Intended for the facultiesFEIIntended for study typesBachelor
Instruction secured by
LoginNameTuitorTeacher giving lectures
BAT0014 Ing. Tarek Batiha
KUD007 doc. Mgr. Miloš Kudělka, Ph.D.
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Graded credit 2+1
Part-time Graded credit 10+0

Subject aims expressed by acquired skills and competences

Object-oriented approaches are an essential part of the computer science curricula. OOP is not only a key concept of thinking but also the technological support of software solutions. The course "Programming II" is closely connected to "Algorithms II". Skills associated with using C ++ will be practically applied in the design of object-oriented programs. The expected inputs for "Programming II" is the successful completion of course "Programming I" and "Algorithms I". These courses provide students the necessary skills and knowledge related to the implementation of data structures and algorithms in an environment structured and procedural programming.

Teaching methods

Lectures
Tutorials

Summary

The course is focused on the introduction of the key concept of object-oriented programming, and basics of C++ language necessary for the design of simple object-oriented programs. After finishing the course, students will understand the difference between structured and object-oriented programming. To a limited extent, students will be able to handle the practical object-oriented design and implementation of a program using object-oriented techniques.

Compulsory literature:

Eckel B.: Thinking in C++. Prentice Hall, 2000, ISBN 0-13-979809-9.

Recommended literature:

Stroustrup, B.: The C++ Programming Language. Addison-Wesley Professional, 1997, ISBN 0201889544. Meyer, B.: Object-Oriented Software Construction, Prentice Hall, 1997, ISBN: 978-0136291558.

Way of continuous check of knowledge in the course of semester

E-learning

Other requirements

Additional requirements are not placed on the student.

Prerequisities

Subject has no prerequisities.

Co-requisities

Subject has no co-requisities.

Subject syllabus:

Lectures 1. Evolution of programming paradigms. 2. Aspects of software quality. Reusing. 3. Class x object. Object as a computer representation of real-world entity. Data and functions of objects. 4. OOP principles. Encapsulation, composition, message sending, inheritance, polymorphism. 5. Constructors and destructors I. How it works and why. 6. Public and private part of objects. Hiding of implementation. 7. Design of object-oriented program I. 8. Simple and multiple inheritance. Polymorphism. 9. Virtual methods. Abstract class. 10. Constructors and destructors II. Special kinds of constructors, copy constructor. 11. Design of object-oriented program II. 12. Templates. How it works and why. 13. Standard object libraries of C++ language. 14. Design of object-oriented program III. Labs 1. Comparison of source codes of procedural and object oriented programs. 2. Example of implementation – cooperating classes, analysis of object behavior, hiding of details of implementation. 3. Implementation of object-oriented program I. 4. Example of implementation – simple inheritance, analysis of object behavior. 5. Implementation of object-oriented program II. 6. Example of implementation – templates and standard C++ libraries. 7. Implementation of object-oriented program III.

Conditions for subject completion

Conditions for completion are defined only for particular subject version and form of study

Occurrence in study plans

Academic yearProgrammeBranch/spec.Spec.ZaměřeníFormStudy language Tut. centreYearWSType of duty
2020/2021 (B2660) Computer Systems for the Industry of the 21st. Century P English Ostrava 1 Compulsory study plan
2019/2020 (B2660) Computer Systems for the Industry of the 21st. Century P English Ostrava 1 Compulsory study plan
2018/2019 (B2660) Computer Systems for the Industry of the 21st. Century P English Ostrava 1 Compulsory study plan
2018/2019 (B3973) Automotive Electronic Systems P English Ostrava 1 Compulsory study plan
2018/2019 (B2647) Information and Communication Technology P English Ostrava 1 Compulsory study plan
2018/2019 (B2647) Information and Communication Technology K English Ostrava 1 Compulsory study plan
2017/2018 (B2647) Information and Communication Technology P English Ostrava 1 Compulsory study plan
2017/2018 (B2647) Information and Communication Technology K English Ostrava 1 Compulsory study plan
2017/2018 (B2660) Computer Systems for the Industry of the 21st. Century P English Ostrava 1 Compulsory study plan
2017/2018 (B3973) Automotive Electronic Systems P English Ostrava 1 Compulsory study plan
2016/2017 (B2647) Information and Communication Technology P English Ostrava 1 Compulsory study plan
2016/2017 (B2647) Information and Communication Technology K English Ostrava 1 Compulsory study plan
2016/2017 (B2660) Computer Systems for the Industry of the 21st. Century P English Ostrava 1 Compulsory study plan
2015/2016 (B2647) Information and Communication Technology P English Ostrava 1 Compulsory study plan
2015/2016 (B2647) Information and Communication Technology K English Ostrava 1 Compulsory study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner
V - ECTS - bc. 2018/2019 Full-time English Optional 401 - Study Office stu. block
V - ECTS - bc. 2017/2018 Full-time English Optional 401 - Study Office stu. block
V - ECTS - bc. 2016/2017 Full-time English Optional 401 - Study Office stu. block
V - ECTS - bc. 2015/2016 Full-time English Optional 401 - Study Office stu. block

Assessment of instruction



2018/2019 Summer
2017/2018 Summer
2015/2016 Summer