Course: Programming in C/C++

» List of faculties » FM » MTI
Course title Programming in C/C++
Course code MTI/PRJC
Organizational form of instruction Lecture + Lesson
Level of course Bachelor
Year of study not specified
Semester Winter
Number of ECTS credits 4
Language of instruction Czech
Status of course Compulsory
Form of instruction Face-to-face
Work placements Course does not contain work placement
Recommended optional programme components None
Lecturer(s)
  • Špánek Roman, Ing. Ph.D.
Course content
Lecture and seminars will cover following topics: 1. Introduction into C language, data types, constants and variable and function declaration 2. Input and output 3. Function, program structure and remote compilation 4. Arrays, pointers and dynamic memory allocation. 5. 2D and multi dimensional arrays and strings 6. Structures, unions and custom data types 7. C++ and object oriented programming introduction 8. C++ basics, class definition, constructors, creation and destruction of object 9. Inheritance and polymorphism, access management, virtual methods and inheritance 10. Inheritance vs composition 11. Design patterns in C++ I 12. Design patterns in C++ II 13. Operators and method overriding 14. Exception handling

Learning activities and teaching methods
Monological explanation (lecture, presentation,briefing), Independent creative and artistic activities, Individual consultation, Lecture, Practicum, E-learning, Task-based study method, Students' self-study
  • Class attendance - 56 hours per semester
Learning outcomes
The curse gives an overview on programming language C. Particularly on the relation between the C language and modern operation systems, basic data structures used in C, variables declaration. Using header files and their usability for proper code structure. Curse also covers topic related to dynamic memory management, pointers a dynamic one and two dimensional array together with advanced data structures. The second part gives an overview on object oriented programming in C++, definition of classes, memory management (constructors and destructors) , virtual classes and virtual inheritance, meethod and atribute access management. Design of flexible object software by using polymorphism and also composition, exception handling. Design patterns.
Students will learn basic concepts in development of algorithms and realization of algorithms in programming language C. Proper object oriented software design in C++ (design of flexible and scaleable software solution).
Prerequisites
Basic knowledge in programming (algorithmization) and object programming.

Assessment methods and criteria
Combined examination, Written exam, Test

Active participation on seminars. To pas exam student is required to handle manipulation with basic data and also with structures and advanced data types (array, record, object). Processing of text and binary files. Flexible object design.
Recommended literature
  • Brodský, J. - Skočovský, L. Operační systém Unix a jazyk C.. Praha KVT SNTL, 1989. ISBN ISNB 80-03-00049-.
  • HEROUT, P. Učebnice jazyka C. České Budějovice, Nakladatelství Kopp, 2004. ISBN 80-7232-220-6.
  • Virius, M. Od C k C++. Kopp České Budějovice 2000, &. ISBN 80-7232-110-2.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester