Course: Fundamentals of C Language

» List of faculties » FAI » AUIUI
Course title Fundamentals of C Language
Course code AUIUI/AE2ZC
Organizational form of instruction Lecture + Lesson
Level of course Bachelor
Year of study not specified
Semester Winter and summer
Number of ECTS credits 5
Language of instruction English
Status of course unspecified
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
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.


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