CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2020/2021

# Programming for Engineers

The course is not on the list Without time-table
Code Completion Credits Range Language
BE5B33PGE Z,ZK 6 2P+2C English
Corequisite:
Lecturer:
Tutor:
Supervisor:
Department of Cybernetics
Synopsis:
Requirements:

Basic programming skills on the level of an introductory course. The course uses Python and assumes students can code simple programes in it. The course is not intended for students beginners with no knowledge of programming.

Syllabus of lectures:

1. Asymptotic complexity, estimation of execution time of a code

2 .1D arrays and lists, prefix sum, binary search

3. 2D arrays and matrices

4. Strings and text files

5. Recursion I, principles, simple examples

6. Library data structures and functions for searching and sorting, their complexity

7. Python application libraries Numpy, Scipy, with examples of use

8. Python application libraries Matplotlib, SageMath, NetworkX, with examples of use

9. Abstract data structures -- stack, queue, tree, graph -- and their implementation

10. Recursion 2, tree processing

11. Graph processing and searching 1, graph representation, local search

12. Graph processing and searching 2, BFS DFS

13. Rezerva

14. Rezerva

Syllabus of tutorials:

1. Asymptotic complexity of Python code and code fragments

2. 1D array and list processing,Python built-in functions

3. Operations on matrices, 2D array as image or function domain

4. Text files processing, text search

5. Recursive functions and procedures. Recursive generation of data/objects

6. Effectivity of search and sort methods on various datasets

7. Scientific and math computations with Numpy and Scipy,

8. Data visualisation with Python libraries

9. Homework problems comments and consultations

10. Tree traversal, In-, Pre and Post-order, recursion tree of a function call

11. Comparing effectivity of graph representations.

12. BFS and DFS implementations

13. Rezerva

14. Rezerva

Study Objective:
Study materials:

John V. Guttag: Introduction to Computation and Programming Using Python

Revised and Expanded Edition, The MIT Press, 2013.

https://doc.lagout.org/programmation/python/Introduction%20to%20Computation%20and%20Programming%20using%20Python%20%28rev.%20ed.%29%20%5BGuttag%202013-08-09%5D.pdf

John M. Zelle: Python Programming: An Introduction to Computer Science (Third Edition), Franklin, Beedle &amp; Associates, 2016

http://mcsp.wartburg.edu/zelle/python/

Various authors: SciPy cookbook, 2015