Course detail
The C++ Programming Language
FEKT-BSCPAcad. year: 2016/2017
The first aspect discussed is the essentials of programming in C. Then, based on the use of a simple algorithm, the students will acquire a comprehensive idea of the characteristics of C++ specified by the relevant ISO standard. The set of these aspects includes mainly the properties of the objects, classes, and operators, inheritance, polymorphism, overloading, templates of the functions and classes, exception handling and implementation. The students will learn to use standard STL libraries.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Learning outcomes of the course unit
- analyze a problem and formulate the algorithm for the mathematical model
- design an algorithm and implement it effectively in such a manner that the resulting code for the applied operating system is very efficient and stable
- set up and apply the algorithm in a simple text environment under minimum hardware requirements
- recognize and apply attributes of the object-oriented approach
- use this approach to set up an application
- assess, design, and apply C++ tools (objects, classes, operators, inheritance, polymorphism, overloading)
- utilize the templates of the functions and classes, manage the exceptions, and use standard STL libraries
Prerequisites
Co-requisites
Planned learning activities and teaching methods
For the above-described reason, the lecture and the tutorial are organized as consecutive units in the students‘ timetable. In the computer-based exercises conducted during the course, each student is individually guided to assess whether an element of object programming can be suitably applied in the algorithm, and he/she is encouraged to propose a method for the inclusion of the element in the source text. At the next stage, the student will independently analyze the text, searching for and correcting any mistakes; also, he/she will test the algorithm, modify it during the exercise, and acquire skills related to the variability of the applied tools available within the object-oriented, event-driven programming. At the end of each session, the students are able to not only explain each item within the source text but also discuss the pros and cons of the algorithm and complement or modify it in a creative manner.
Assesment methods and criteria linked to learning outcomes
- setting up, tuning, and functionality of an algorithm including elements of the object-oriented approach related to the topic discussed in a concrete lesson (0 – 5 points)
- active participation in the computer tutorials (workshops)
Twice in the teaching period (one semester), each student will submit an independently compiled example of an algorithm with applied elements and tools of the object-oriented approach to programming (0 – 25 points). The tutor/lecturer will evaluate the student’s grasp of tool usage, correct insertion of a tool in the algorithm and API elements, application potential of the proposed algorithm, and quality of the algorithm embedding in the event-driven system as the superior unit.
Course curriculum
2. Dynamic memory allocation; multi-dimensional fields; pointers; value returning by parameter.
3. Properties of the C/C++ languages; ANSI standards; object-oriented programming; algorithms.
4. C++ keywords, classes, and member variables.
5. Member functions – methods; pointer this; aggregates; controlling access to members.
6. Namespaces; memory classes; objects.
7. Object assignment; passing and returning objects to functions.
8. Overview, description, and use of operators.
9. Overloading of operators.
10. Inheritance; inheritance approaches; polymorphism.
11. Overloading of constructors; overloading anachronism; overloading and ambiguity.
12. Templates of functions and classes; template parameters; templates of object types; exception handling.
13. STL libraries and their applications.
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
Recommended optional programme components
Prerequisites and corequisites
Basic literature
Eckel, B.: Myslíme v jazyku C++, GRADA, 2000 (CS)
Herout, P. Učebnice jazyka C, Koop, 6. vydání, 2009. (CS)
ISO: Programming Language C++, WG21/N1043 Draft Proposed International Standard, 1996 (EN)
ISO: Programming languages - C++, International Standard ISO/IEC 14882, 1988 (EN)
Stroustrup, B.: The C++ programming language, special edition, Addison-Wesley, 2000 (EN)
Stroustrup, B.: The C++ programming language, third edition, Addison-Wesley, 1997 (EN)
Recommended reading
Classification of course in study plans
- Programme EECC Bc. Bachelor's
branch B-TLI , 2 year of study, summer semester, elective interdisciplinary
- Programme AUDIO-J Bachelor's
branch J-AUD , 1 year of study, summer semester, elective interdisciplinary
branch J-AUD , 2 year of study, summer semester, elective interdisciplinary
branch J-AUD , 3 year of study, summer semester, elective interdisciplinary - Programme AUDIO-P Master's
branch P-AUD , 1 year of study, summer semester, elective interdisciplinary
branch P-AUD , 2 year of study, summer semester, elective interdisciplinary - Programme IBEP-T Bachelor's
branch T-IBP , 2 year of study, summer semester, elective specialised
branch T-IBP , 3 year of study, summer semester, elective specialised - Programme EEKR-CZV lifelong learning
branch EE-FLE , 1 year of study, summer semester, elective interdisciplinary
Type of course unit
Exercise in computer lab
Teacher / Lecturer
Syllabus
2.Classes, its characteristics, application
3.Objects, succession to classes, properties
4.Heredity, convention explanation
5.Polymorfism, using in the program writing
6.Overexertion of operators and function, irregularity, properties.
7.Funtion and classes stencils, its application in BORLAND C++ v.6 program.
8.Irregulatrity services, its program application.
9.Using of standard libraries, STL.
Project
Teacher / Lecturer
Syllabus