Lecturer(s)
|
-
Kyselý Jaroslav, Ing. Ph.D.
-
Bartovský Jindřich, Ing.
-
Volprecht Patrik, Ing. Ph.D.
-
Koua Ladislav, Ing.
-
Mareš Adolf, Ing.
-
Rogozov Markéta, Ing. Ph.D.
-
Čuha Mark, Ing.
|
Course content
|
1. Computer from the point of view of the programmer, operating systems, presentation of information. Example of a simple program. Problem analysis and programming, algorithm concept. 2. Program architecture in C language, flow control structures, loops. Basic data types. Type conversion, casting. Debugging and testing programs. 3. Data types - ranges, accuracy, rounding. Expressions. Functions, simple parameters. Arrays, text strings, basic functions for string handling. 4. Pointers, location of data in memory. Arrays and pointers. Array manipulating algorithms. Multidimensional arrays. 5. Structures, unions, enumeration types, bit structures. Working with files, formatting input and output. 6. More complex data types - linked structure, tree, queue, stack, circular queue. Mutual typing of data types. Memory Alignment. Packed structures. 7. Differences between C and C ++ at a basic syntax level - additional data types and operators. Object-oriented approach to the programming. Reasons for using object style, principles. Implementation of object programming in C++. 8. Conceptual model of the object. Abstract data type. Implementation of abstract data type - class. Objects, their properties. 9. Object programming tools for encapsulation, inheritance, polymorphism, genericity. Implementation of inheritance. Exception mechanism. 10. Polymorphism, usage. Implementing more complex structures with object programming tools. 11. Standard C++ libraries. 12. Work with input and output streams. 13. Preparation of the final application. Code optimization. Documentation.
|
Learning activities and teaching methods
|
- Undergraduate study programme term essay (20-40)
- 8 hours per semester
- Contact hours
- 52 hours per semester
- unspecified
- 36 hours per semester
- Contact hours
- 16 hours per semester
- Preparation for formative assessments (2-20)
- 6 hours per semester
- Preparation for comprehensive test (10-40)
- 10 hours per semester
- Preparation for an examination (30-60)
- 30 hours per semester
|
prerequisite |
---|
Knowledge |
---|
to have basic knowledges in mathematics for grammar schools |
Skills |
---|
to have basic skills in mathematics for grammar schools |
to control commonly available computers |
Competences |
---|
N/A |
N/A |
N/A |
learning outcomes |
---|
Knowledge |
---|
define the list of basic data types, control structures |
explain basic algorithms (loops, work with arrays and strings, searching and sorting, input / output operations, using methods, classes and objects) |
Skills |
---|
use basic algorithms, data and control structures (loops, work with arrays and strings, searching and sorting, input / output operations, using methods, classes and objects) |
apply acquired knowledge to create programs with focus to application in branch of electrical engineering |
design, develop and debug a simple program based on verbal description |
Competences |
---|
N/A |
N/A |
teaching methods |
---|
Knowledge |
---|
Lecture supplemented with a discussion |
Practicum |
Multimedia supported teaching |
Skills |
---|
Lecture supplemented with a discussion |
Practicum |
Individual study |
Multimedia supported teaching |
Competences |
---|
Lecture supplemented with a discussion |
Practicum |
Multimedia supported teaching |
assessment methods |
---|
Knowledge |
---|
Combined exam |
Project |
Test |
Skills |
---|
Combined exam |
Project |
Test |
Competences |
---|
Combined exam |
Project |
Test |
Recommended literature
|
-
Herlihy, Maurice; Shavit, Nir. The art of multiprocessor programming. Boston : Elsevier, 2012. ISBN 978-0-12-397337-5.
-
Herout, Pavel. Učebnice jazyka C. 1. díl. České Budějovice : Kopp, 2004. ISBN 80-7232-220-6.
-
Jeganathan Swaminathan. Mastering C++ Programming. Packt Publishing Limited., Birmingham, United Kingdom, 2017. ISBN 9781786461629.
-
Kernighan, Brian W.; Ritchie, Dennis M. Programovací jazyk C. Vyd. 1. Brno : Computer Press, 2006. ISBN 80-251-0897-X.
-
Virius, Miroslav. Programování v C++ : od základů k profesionálnímu použití. První vydání. 2018. ISBN 978-80-271-0502-1.
|