Lecturer(s)
|
-
Juřena Tomáš, Ing.
-
Kadavý Tomáš, Ing.
-
Janků Peter, Ing. Ph.D.
-
Bližňák Michal, Ing. Ph.D.
-
Mirshahi Sina, MSc.
|
Course content
|
Topics: 1. The basic structure of source code, ANSI C language, modules, preprocessing, translation of source code. 2. Application development by using IDE, debugging, profiling 3. Basic data types of ANSI C language and operands. Variables. 4. Program flow control. Decision making, loops, jumps. 5. Standard libraries. I / O operations, working with files. 6. Extended data types. Enumeration type, structure, union, array, bit array. 7. Pointers, pointer arithmetic, pointer vs. array. 8. Work with memory and its management. Dynamic memory allocation and deallocation. 9. Statically and dynamically allocated arrays and their initialization. Multidimensional arrays. 10. String operations. Static vs. dynamically allocated strings. 11. Function pointers and their use. 12. Atomic types. Unicode strings. 13. Multithreading. 14. Useful third-party ANSI C libraries.
|
Learning activities and teaching methods
|
Monologic (Exposition, lecture, briefing), Exercises on PC, Practice exercises, Individual work of students, E-learning
- Term paper
- 6 hours per semester
- Home preparation for classes
- 20 hours per semester
|
prerequisite |
---|
Knowledge |
---|
Mastering the content of the course: "Basics of Programming and Algorithmization". |
Mastering the content of the course: "Basics of Programming and Algorithmization". |
learning outcomes |
---|
characterise the C programming language and typical application areas |
characterise the C programming language and typical application areas |
describe the building blocks and constructs of the C language (functions, structures, variables, etc.) |
describe the building blocks and constructs of the C language (functions, structures, variables, etc.) |
list and describe the basic contemporary types of the C language |
list and describe the basic contemporary types of the C language |
explain the principle of pointers and dynamic memory allocation |
explain the principle of pointers and dynamic memory allocation |
explain the principle of using header and source files and describe the principle of splitting code into these files |
explain the principle of using header and source files and describe the principle of splitting code into these files |
Skills |
---|
create a console application using the C programming language |
create a console application using the C programming language |
use dynamic memory allocation in C |
use dynamic memory allocation in C |
divide the program code into individual translation units |
divide the program code into individual translation units |
use functionality implemented in standard C libraries |
use functionality implemented in standard C libraries |
create an application working with text and data files in the C programming language |
create an application working with text and data files in the C programming language |
teaching methods |
---|
Knowledge |
---|
E-learning |
E-learning |
Monologic (Exposition, lecture, briefing) |
Monologic (Exposition, lecture, briefing) |
Individual work of students |
Practice exercises |
Practice exercises |
Exercises on PC |
Individual work of students |
Exercises on PC |
assessment methods |
---|
Analysis of works made by the student (Technical products) |
Written examination |
Analysis of works made by the student (Technical products) |
Written examination |
Recommended literature
|
-
Herout, Pavel. Učebnice jazyka C. 2. přeprac. vyd. Praha : Kopp, 2004. ISBN 8072322214.
-
IEGA, John a Matt MESSIER. Secure programming cookbook for C and C++. Sebastopol, Calif.: O'Reilly. ISBN 0-596-00394-3.
-
Kernighan, B., Ritchie, D. Programovací jazyk C. Praha, Computer Press, 2006.
-
PROKOP, Jiří. Algoritmy v jazyku C a C++. Praha: Grada, 2015. ISBN 978-80-247-5467-3.
-
Virius, M. Jazyky C a C++. Praha, Grada Publishing, 2005.
|