Algorithm Development and Programming - A8B14ADP

Credits 5
Semesters Winter
Completion Assessment + Examination
Language of teaching Czech
Extent of teaching 2P+2C
Annotation
Course objective: Introduction to algorithm design of basic and more advanced computer tasks, Digital computer structure, Introduction to the C programming language, Syntax and semantics. Basic skills of procedural programming paradigm, variable, data type, declaration, operators, expressions, statements, functions, parameter passing, arrays, pointers, structures, compilation and debugging methods, preprocessor, conditional compilation, standard libraries, specific of embedded computer systems programming and debugging.
Course outlines
1. Computer structure, algorithm, program, programming language, C language
2. Variables, data types, operators, expressions, statements, input/output
3. Program flow control, control structures
4. C program structure, subroutines and functions
5. Parameter passing (call by value, call by reference)
6. Procedural programming paradigm
7. Arrays, structures and unions
8. Pointers and pointer arithmetic
9. Files, standard libraries
10. Data sorting and searching, recursion
11. Preprocessor, conditional compilation, macros, header files
12. Embedded computer system structure
13. Interrupt system programming, re-entrant functions
14. Specific of embedded system programming
Literature
1. Kernighan, B. W. - Ritchie, D. M.: C Programming Language. 2nd ed. Prentice Hall 1988. ISBN: 978-0131103627
2. Harbison, S. P. - Steele, G.L.: A Reference Manual. 5th ed. Prentice Hall 2002. ISBN:978-0130895929
3. Skiena, S. S.: The Algorithm Design Manual. 2nd ed. Springer 2010. ISBN:978-1849967204