Lecturer(s)
|
|
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.
|