Students gain the ability to formulate algorithms for solving basic problems and write them in the C language. They understand data types (simple, structured, pointers), expressions, statements, functions, concept of recursion. They learn to analyse simple cases of algorithm complexity. They know fundamental algorithms for searching, sorting, and manipulating with linked lists.
Last update: Kubová Petra Ing. (02.01.2018)
Studenti se naučí sestavovat algoritmy řešení základních problémů a zapisovat je v jazyku C. Ovládají datové typy (jednoduché, ukazatele, strukturované), výrazy, příkazy, a funkce demonstrované v programovacím jazyce C. Rozumějí principu rekurze a složitosti algoritmů. Naučí se základní algoritmy pro vyhledávání, řazení a práci se spojovými seznamy.
Aim of the course -
Last update: Kubová Petra Ing. (02.01.2018)
Students will be able to:
Understand fundamental algorithmics.
Use procedural programming skills that are crucial for further studying.
Last update: Kubová Petra Ing. (02.01.2018)
Studenti budou umět:
sestavovat algoritmy řešení základních problémů a zapisovat je v jazyku C.
ovládat datové typy (jednoduché, ukazatele, strukturované), výrazy, příkazy, a funkce demonstrované v programovacím jazyce C.
rozumět principu rekurze a složitosti algoritmů.
ovládat základní algoritmy pro vyhledávání, řazení a práci se spojovými seznamy.
Literature -
Last update: Kubová Petra Ing. (02.01.2018)
R:Brassard, G., Bratley, P. ''Fundamentals of Algorithmics.'' Prentice Hall, 1995. ISBN 0133350681.
R:Sedgewick, R. ''Algorithms in C, Parts 1--5.'' Addison Wesley, 2001. ISBN 0201756080.
Last update: Kubová Petra Ing. (02.01.2018)
Z:Herout, P. Učebnice jazyka C. České Budějovice: Kopp, 2004. ISBN 80-7232-220-6.
Z:Virius, M. Jazyky C a C++: kompletní kapesní průvodce programátora. Praha: Grada, 2006. ISBN 80-247-1494-9.
Learning resources -
Last update: Kubová Petra Ing. (02.01.2018)
https://edux.fit.cvut.cz/courses/BI-PA1/
(login necessary)
Last update: Kubová Petra Ing. (02.01.2018)
https://edux.fit.cvut.cz/courses/BI-PA1/
(nutné přihlášení)
Syllabus -
Last update: Kubová Petra Ing. (02.01.2018)
1. Algorithm, program, programming languages. Development environments.
2. Variables, assignment statement, input and output for integer data types.
3. Data types for real numbers. Expressions.
4. Control structures, branching, cycles.
5. Functions, input/output parameters.
6. Decomposition of a problem into subproblems, recursion.
7. Arrays, strings.
8. Pointers, dynamic variables.
9. Files.
10. Complexity of algorithms, sorting and searching.
11. Structures, structured files.
12. Linked lists.
13. Modular programming, other features of C.
Last update: Kubová Petra Ing. (02.01.2018)
1. Algoritmus, program, programovací jazyky. Vývojová prostředí.
2. Proměnné, přiřazovací příkaz, vstup a výstup pro celočíselné typy.
3. Reálné typy. Výrazy.
4. Řídicí struktury, větvení, cykly.
5. Funkce, vstupní a výstupní parametry.
6. Rozklad problému na podproblémy, rekurze.
7. Pole, řetězce.
8. Ukazatele, dynamické proměnné.
9. Soubory.
10. Složitost algoritmů, algoritmy řazení a vyhledávání.
11. Struktury, soubory se strukturami.
12. Spojové seznamy.
13. Modulární programování, zbývající rysy jazyka C.