Course: Programming 1

» List of faculties » FP » MTI
Course title Programming 1
Course code MTI/PRG1
Organizational form of instruction Lecture + Lesson
Level of course Bachelor
Year of study not specified
Semester Winter
Number of ECTS credits 5
Language of instruction Czech
Status of course Compulsory
Form of instruction Face-to-face
Work placements Course does not contain work placement
Recommended optional programme components None
Lecturer(s)
  • Martinec Tomáš, Ing. Ph.D.
  • Svoboda Přemysl, Ing.
  • Vích Vlasák Martin, Ing.
  • Severýn Otto, doc. Ing. Ph.D.
Course content
Lectures: 1. Introduction to programming and algoritmization. Programming language, compiler, development environment. Phases of programming. 2. Introduction to C language. Numerical variables, basic arithmetic operations, assignment, keyboard input, console output. 3. Structured programming. Condition, cycle. Comparison and logical operators. Syntax rules for logical tests. 4. Internal representation of numbers. Integer types. Floating point numbers, IEEE 754 standard. Problems with integer and floating point calculations. 5. Arrays. Declaration of static array, access to array members. For() cycle. Specifics of arrays in C language. 6. Bitwise operations. Bitwise AND, OR, XOR, shift operators. 7. Decomposition of a program to subprograms. Function declaration, parameters, type, return value. Local and global variables. Recursion. 8. Structured programming - more statements. Cycle control with break and continue statements. Forking with switch() statement. Ternary operator. 9. Working with text. Strings in C language. Pointer and its usage. 10. Input and output. Formatting strings for prinf() and scanf(). Interaction with filesystem, input from text file, output to file. 11. Other C language elements. Macroprocessor. Use of standard library, use of third-part libraries. 12. Use of C language for microcontrollers. Specifics and deviations from C language standard. Optimization of a program for limited resources. 13. Interaction with microcontrollers peripheries, interrupts, interrupt handling in C. 14. Development environments foe embedded systems development, debugging of embedded applications. Seminars: Students will program given tasks during the seminars. These tasks will be connected with the subject of the lecture for particular week. The students will be assigned to solution of two more difficult problems, which will be seminar work.

Learning activities and teaching methods
Lecture, Practicum
  • Class attendance - 56 hours per semester
Learning outcomes
The goal of the course is to teach the students the basics skills in algoritmization and programming in C language. General concepts of C language programming are taught in the first part of the course. The second part of the course is devoted to problems specific to microcontrolers and embedded systems.
Students will acquire basic knowledge of algoritmization, console applications programming in C language and microcontroller programming.
Prerequisites
Basic work with PC, filesystem, bit and byte, logical AND, OR, NOT functions.

Assessment methods and criteria
Practical exam

Seminars: Solving two home assignments. Active participation on seminars. Exam: Practical exam, programming of given problems.
Recommended literature
  • Herout, P. Učebnice jazyka C. České Budějovice, 2004. ISBN 80-7232-220-6.
  • Knuth, D.E. The Art of Computer Programming I, III, Adison Wesley, 1997.
  • LOUIS, D. - MEJZLÍK, P. - VIRIUS, M. Jazyky C a C++ podle normy ANSI/ISO. GRADA, Praha, 1999.
  • Wirth, N.:. Algoritmy a štruktúry údajov.. Alfa Bratislava, 1987.


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