Lecturer(s)
|
-
Martinec Tomáš, doc. 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.
|