Faculty of Electrical Engineering

Czech Technical University in Prague

CTU in Prague

Subject description - B3B33ALP

Summary of Study | Summary of Branches | All Subject Groups | All Subjects | List of Roles | Explanatory Notes               Instructions
B3B33ALP Algorithms and programming Extent of teaching:2p+2c
Guarantors:Kybic J. Roles:P Language of
teaching:
CS
Teachers:Kybic J. Completion:Z,ZK
Responsible Department:13133 Credits:6 Semester:Z

Anotation:

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 paradigms.

Course outlines:

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.
14. Programming paradigms.

Exercises outline:

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

Literature:

Sedgewick, Wayne: Algorithms (4th Edition), 2011, ISBN 978-0321573513 Sedgewick, Wayne, Dondero: Introduction to Programming with Python: An Interdisciplinary Approach. 2015, ISBN 978-0134076430

Requirements:

None.

Webpage:

http://cw.fel.cvut.cz/wiki/courses/b3b33alp/start

Subject is included into these academic programs:

Program Branch Role Recommended semester
BPBIO_2018 Common courses P 1
BPKYR_2016 Common courses P 1


Page updated 25.4.2018 17:49:03, semester: L/2018-9, Z,L/2017-8, Z/2018-9, Send comments about the content to the Administrators of the Academic Programs Proposal and Realization: I. Halaška (K336), J. Novák (K336)
Responsible person: doc. Ing. Jiří Jakovenko, Ph.D.