CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2019/2020

Algorithms and programming

Code Completion Credits Range Language
B3B33ALP Z,ZK 6 2P+2C Czech
Corequisite:
Safety in Electrical Engineering for a bachelor´s degree (BEZB)
Basic health and occupational safety regulations (BEZZ)
The course is a substitute for:
Programming Essentials (BAB37ZPR)
Lecturer:
Jan Kybic (guarantor)
Tutor:
Jan Kybic (guarantor), Jan Hering, Tomáš Pivoňka, Petr Štěpán, Vojtěch Vonásek
Supervisor:
Department of Cybernetics
Synopsis:

This subject will give students a basic understanding of algorithms

and programming and teach them to design, implement and test

algorithms for simple tasks. The students will understand the notion

of computational complexity. They will learn about basic program

building blocks such as loops, conditional statements, variables,

functions and recursion. We will introduce the most often used data

structures (queue, stack, list, array etc) and operations on them. We

will show the basic algorithms, for example for searching and

sorting. Finally, we will briefly cover the main programming

Requirements:

None.

Syllabus of lectures:

1. What is an algorithm, why to study algorithms, my first algortihm,

Python, organizational remarks.

2. Basis programming structures and techniques (loops, conditional

statements). Asymptotic complexity.

3. Arrays, insertion sort. Debugging.

4. Queue and stack. Finite automaton.

5. List. Merge sort.

6. Recursion. Quick sort. Functions.

7. Numerical algorithms, numerical accuracy.

8. Priority queue, heap, heapsort.

9. Hash tables.

10. Trees.

11. Sets and association maps.

12. Graphs and graph operations. State space search. Backtracking.

13. Strings, searching and sorting.

Syllabus of tutorials:

Python programming language.

Students will independently solve a number of short practical programming exercises.

Study Objective:

The goal of the course is to give students elementary knowledge of programming and algorithmization and teach them to design, implement and test programms for solving simple tasks.

Study materials:

Sedgewick, Wayne: Algorithms (4th Edition), 2011, ISBN 978-0321573513

Sedgewick, Wayne, Dondero: Introduction to Programming with Python: An Interdisciplinary Approach.

2015, ISBN 978-0134076430

Note:
Further information:
http://cw.fel.cvut.cz/wiki/courses/b3b33alp/start
Time-table for winter semester 2019/2020:
 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 roomKN:E-107Kybic J.09:15–10:45(lecture parallel1)Karlovo nám.Zengerova posluchárna K1roomKN:E-230Hering J.11:00–12:30(lecture parallel1parallel nr.101)Karlovo nám.Laboratoř PCroomKN:E-132Vonásek V.14:30–16:00(lecture parallel1parallel nr.102)Karlovo nám.Laboratoř PCroomKN:E-132Vonásek V.16:15–17:45(lecture parallel1parallel nr.105)Karlovo nám.Laboratoř PC roomKN:E-230Hering J.12:45–14:15(lecture parallel1parallel nr.104)Karlovo nám.Laboratoř PCroomKN:E-230Pivoňka T.14:30–16:00(lecture parallel1parallel nr.103)Karlovo nám.Laboratoř PC roomKN:E-13212:45–14:15(lecture parallel1parallel nr.108)Karlovo nám.Laboratoř PC roomKN:E-23007:30–09:00(lecture parallel1parallel nr.109)Karlovo nám.Laboratoř PCroomKN:E-230Štěpán P.11:00–12:30(lecture parallel1parallel nr.106)Karlovo nám.Laboratoř PC roomKN:E-132Štěpán P.09:15–10:45(lecture parallel1parallel nr.107)Karlovo nám.Laboratoř PC
Time-table for summer semester 2019/2020:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2020-01-27
For updated information see http://bilakniha.cvut.cz/en/predmet4673906.html