Programming and Algorithmics 1
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
BIE-PA1.21 | Z,ZK | 7 | 2P+2R+2C | anglicky |
- Garant předmětu:
- Jan Trávníček
- Přednášející:
- Jan Trávníček
- Cvičící:
- Tomáš Dejmek, Foivos Fioravantes, Radek Hušek, František Kovář, Štěpán Plachý, Jan Trávníček, Ladislav Vagner, Josef Vogel
- Předmět zajišťuje:
- katedra teoretické informatiky
- Anotace:
-
Students learn to construct algorithms for solving basic problems and write them in the C language. They master data types (simple, pointers, structured), expressions, statements, and functions presented in C language. They understand the principle of recursion and basics of algorithm complexity analysis. They know fundamental algorithms for searching, sorting, and manipulating linked lists and trees.
- Požadavky:
-
None.
- Osnova přednášek:
-
1. Algorithms, programs and basic support of SW development.
2. Variables. Input and output in the C language.
3. Floating-point arithmetic. Expressions in the C language.
4. Flow control statements in the C language.
5. Functions in the C language.
6. Arrays and strings in the C language.
7. Structures and pointers in the C language.
8. Pointers and dynamic memory allocation in the C language.
9. Algorithm complexity. Searching and quadratic sorting algorithms.
10. Linked structures and trees in the C language.
11. Recursive algorithms, MergeSort, QuickSort introduction.
12. Working with files. Modular programming in the C language.
13. Abstract data types boolean, complex numbers, queue, stack.
- Osnova cvičení:
-
1. Numeral systems, conversions. Bit, byte, word, double word. Development environments.
2. Integer types, variables, assignments, I/O. Displaying integers, two's complement code.
3. Real data types. Displaying floating-point numbers. Expressions.
4. Conditional statements.
5. Cycles, processing sequences.
6. Functions.
7. Arrays and strings.
8. Pointers and dynamic variables.
9. Structures.
10. Complexity of algorithms, examples of algorithms with various complexities.
11. Recursive functions.
12. Linked lists.
13. Reserved.
- Cíle studia:
-
The module provides fundamental algorithmics and procedural programming skills that are crucial for further studying.
- Studijní materiály:
-
1. Cormen T. H., Leiserson C. E., Rivest R. L., Stein C. : Introduction to Algorithms (3rd Edition). MIT Press, 2016. ISBN 978-0262033848.
2. Brassard G., Bratley P. : Fundamentals of Algorithmics (3rd Edition). Pearson, 2015. ISBN 978- 0133350685.
3. Sedgewick R. : Algorithms (4th Edition). Addison Wesley, 2011. ISBN 978-0321573513.
4. Kochan S.G. : Programming in C (4th Edition). Addison-Wesley, 2014. ISBN 978-0321776419.
- Poznámka:
-
Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/BIE-PA1/
- Další informace:
- https://courses.fit.cvut.cz/BIE-PA1/
- Rozvrh na zimní semestr 2024/2025:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po Út St Čt Pá - Rozvrh na letní semestr 2024/2025:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Bachelor Specialization Computer Engineering, 2021 (povinný předmět programu)
- Bachelor Specialization, Information Security, 2021 (povinný předmět programu)
- Bachelor Specialization, Software Engineering, 2021 (povinný předmět programu)
- Bachelor Specialization, Computer Science, 2021 (povinný předmět programu)
- Bachelor Specialization, Computer Networks and Internet, 2021 (povinný předmět programu)
- Bachelor Specialization Computer Systems and Virtualization, 2021 (povinný předmět programu)
- Bachelor Specialization, Computer Engineering, Version 2024 (povinný předmět programu)