Course: Programming I

« Back
Course title Programming I
Course code UFY/PRG1
Organizational form of instruction Lecture + Lesson
Level of course Bachelor
Year of study not specified
Frequency of the course In each academic year, in the winter semester.
Semester Winter
Number of ECTS credits 6
Language of instruction Czech
Status of course Compulsory, Optional
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Lecturer(s)
  • Futera Zdeněk, RNDr. Ph.D.
Course content
Content of lectures: The lectures are divided into the following topics: 1. Introduction to programming, data types, variables 2. Operators, conditional constructions, program flow 3. Iterations, cycles and one-dimensional arrays 4. Pointers, dynamical memory allocation, multi-dimensional arrays 5. Functions, their parameters and returning values 6. User data types, structure types, unions 7. Advanced IO operations, files 8. Design of large projects, modularity, preprocessor and libraries 9. Recursion and recursive algorithms 10. Linear linked lists 11. Queues, stacks and their implementations 12. Searching algorithms 13. Sorting algorithms Content of tutorials/seminar: Tutorials take place in computer rooms, they are focused on practical implementation of the introduced concepts and they tightly follow the lectures thematically. On the contrary to theoretically focused lectures, emphasis on learning syntax of the C programming language is given on the tutorials as well as ability to create functional and user-friendly program that can effectively deal with data and solve a given problem. Active participation of students is expected during the tutorials in addition to individual work on home works and seminar work.

Learning activities and teaching methods
Monologic (reading, lecture, briefing), Demonstration
  • Class attendance - 52 hours per semester
  • Preparation for exam - 16 hours per semester
  • Semestral paper - 32 hours per semester
  • Preparation for classes - 20 hours per semester
Learning outcomes
In this basic course of programming fundamental principles such as data types, work with variables, operators, program flow control by conditions or cycles are introduced to participants. Demonstrations are based on syntax of C programming language, which is still one of the most popular coding languages, it is used by wide audience and it forms platform for many other so-called higher programming languages. Therefore, part of the course is devoted to coding concepts specific for this language, such as pointers, structure data types, dynamical allocation of memory of usage and implementation of functions. Last 1/3 of the course is spent on introduction of general algorithms with a particular focus on data reading and saving, sorting and searching.
Students will learn basic programming techniques (conditions, loops, dealing with arrays, code partitioning to functions, memory allocation) and algorithms (recursion, linked lists, searching, sorting). These techniques are demonstrated and trained in programming language C, which should be fully mastered by all absolvents of the course.
Prerequisites
None

Assessment methods and criteria
Combined exam, Seminar work

Submission of given home works during the semester, creation of a semestral work and obtaining at least 35 points out of 50 possible for the evaluation of these works. At the exam, the student must create a functional program that fulfils the assigned task and correctly answer at least 70% of questions related to theory.
Recommended literature
  • Studentům jsou k dispozici prezentace z přednášek a ukázkové zdrojové kódy ze cvičeních. Dále je ke studiu doporučena následující literatura:.
  • [1] J. Prokop, Algoritmy v jazyku C a C++, 2016.
  • [2] P. Herout, Učebnice jazyka C (především 1. díl), 2012.
  • [3] B. W. Kerningham, Denis M. Ritchie: Programovací jazyk C, 2019.
  • [4] B. Stroustrup: The C++ Programming Language (4th Edition), 2009.
  • [5] R. Sedgewick: Algoritmy v C, 2003.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester
Faculty: Faculty of Science Study plan (Version): Physics for future teachers (1) Category: Physics courses - Recommended year of study:-, Recommended semester: Winter
Faculty: Faculty of Science Study plan (Version): Biophysics (1) Category: Physics courses - Recommended year of study:-, Recommended semester: Winter
Faculty: Faculty of Science Study plan (Version): Physics (1) Category: Physics courses 1 Recommended year of study:1, Recommended semester: Winter