CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2023/2024

# Programming and Algorithmics 1

Code Completion Credits Range Language
BI-PA1.21 Z,ZK 7 2P+2R+2C Czech
Garant předmětu:
Jan Trávníček
Lecturer:
Miroslav Balík, Jan Trávníček, Ladislav Vagner, Josef Vogel
Tutor:
Miroslav Balík, David Bernhauer, Daniel Breiner, Michal Dvořák, Filip Gregor, Albert Havliček, Radek Hušek, Jiří Kašpar, Tomáš Krupička, Jaroslav Kříž, Jan Matoušek, Tomáš Pecka, Sebastian Prokop, Matyáš Rak, Róbert Selvek, Ivan Šimeček, Otto Šleger, Milan Špinka, Petr Šťastný, Ondřej Štorc, Jan Trávníček, Ladislav Vagner, Josef Vogel, Vladimír Votava, Ondřej Wrzecionko
Supervisor:
Department of Theoretical Computer Science
Synopsis:

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 and trees.

Requirements:

None.

Syllabus of lectures:

1. Algorithms, Programs and Basic support of development.

2. Variables, Input and Output in C language.

3. Floating point arithmetic. Expressions in C language.

4. Flow control statements in C language.

5. Functions in C language.

6. Arrays and strings in C language.

7. Structures and Pointers in C language.

8. Pointers and dynamic memory allocation in C language.

9. Complexity, Searching and Quadratic sorting.

10. Linked structures and Trees.

11. Recursion, MergeSort, QuickSort introduction.

12. Working with files, Modular programming in C language.

13. Abstract data types (boolean, complex numbers, queue, stack).

Syllabus of tutorials:

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.

Study Objective:

The module provides fundamental algorithmics and procedural programming skills that are crucial for further studying.

Study materials:

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.

5. Virius M : Jazyky C a C++: kompletní průvodce, 2. vydání, Grada, 2011. ISBN 978-80-247-3917-5.

Note:
Further information:
https://courses.fit.cvut.cz/courses/BI-PA1/
Time-table for winter semester 2023/2024:
 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 roomTK:BSTrávníček J.12:45–14:15(lecture parallel1)DejviceNTK Ballingův sálroomT9:155Trávníček J.14:30–16:00(parallel nr.1)DejvicePosluchárnaroomT9:349Kříž J.Votava V.18:00–19:30DejviceNBFIT PC učebna roomT9:155Vagner L.07:30–09:00(parallel nr.2)DejvicePosluchárnaroomT9:349Matoušek J.Wrzecionko O.09:15–10:45DejviceNBFIT PC učebnaroomT9:349Štorc O.Havliček A.12:45–14:15DejviceNBFIT PC učebnaroomT9:349Šimeček I.Breiner D.14:30–16:00DejviceNBFIT PC učebnaroomTH:D-1122Vagner L.16:15–17:45(lecture parallel2)Thákurova 7 (budova FSv)D1122roomT9:349Hušek R.Dvořák M.18:00–19:30DejviceNBFIT PC učebna roomT9:349Matoušek J.Wrzecionko O.07:30–09:00DejviceNBFIT PC učebnaroomT9:155Vagner L.14:30–16:00(parallel nr.3)DejvicePosluchárnaroomT9:349Hušek R.Dvořák M.16:15–17:45DejviceNBFIT PC učebna roomT9:105Vagner L.09:15–10:45(parallel nr.4)DejvicePosluchárnaroomTK:BSVogel J.11:00–12:30(lecture parallel3)DejviceNTK Ballingův sálroomTK:BSVagner L.16:15–17:45(parallel nr.5)DejviceNTK Ballingův sál roomT9:349Šleger O.Prokop S.07:30–09:00DejviceNBFIT PC učebnaroomT9:349Rak M.Havliček A.09:15–10:45DejviceNBFIT PC učebnaroomT9:349Šimeček I.Rak M.11:00–12:30DejviceNBFIT PC učebnaroomT9:349Vogel J.Kašpar J.12:45–14:15DejviceNBFIT PC učebnaroomT9:349Kašpar J.Vogel J.14:30–16:00DejviceNBFIT PC učebnaroomT9:349Pecka T.Gregor F.16:15–17:45DejviceNBFIT PC učebna roomT9:351Balík M.07:30–09:00DejviceNBFIT PC ucebnaroomT9:105Balík M.14:30–16:00(lecture parallel4)DejvicePosluchárna roomT9:349Kašpar J.Štorc O.11:00–12:30DejviceNBFIT PC učebnaroomT9:349Kříž J.Selvek R.18:00–19:30DejviceNBFIT PC učebna roomT9:349Matoušek J.Kašpar J.12:45–14:15DejviceNBFIT PC učebnaroomT9:349Matoušek J.Špinka M.14:30–16:00DejviceNBFIT PC učebnaroomT9:349Selvek R.Kříž J.16:15–17:45DejviceNBFIT PC učebna
Time-table for summer semester 2023/2024:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2024-07-20
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/en/predmet6533506.html