Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2024/2025

Programming for Engineers

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
BE5B33PGE Z,ZK 6 2P+2C English
Relations:
In order to register for the course BE5B33PGE, the student must have registered for the required number of courses in the group BEZBM no later than in the same semester.
Course guarantor:
Marko Genyk-Berezovskyj
Lecturer:
Marko Genyk-Berezovskyj
Tutor:
Marko Genyk-Berezovskyj, Pavel Šindler
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 & Associates, 2016

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

Various authors: SciPy cookbook, 2015

https://scipy-cookbook.readthedocs.io/index.html

David Cournapeau: scikit-learn library 2007-2018

https://scikit-learn.org/stable/

Note:
Further information:
http://cw.fel.cvut.cz/wiki/courses/be5b33pge
Time-table for winter semester 2024/2025:
Time-table is not available yet
Time-table for summer semester 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
Mon
Tue
Wed
roomT2:C4-78
Genyk-Berezovskyj M.
12:45–14:15
(lecture parallel1)
Dejvice
roomT2:H1-131
Genyk-Berezovskyj M.
Šindler P.

14:30–16:00
(lecture parallel1
parallel nr.101)

Dejvice haly
roomT2:H1-131
Genyk-Berezovskyj M.
Šindler P.

16:15–17:45
(lecture parallel1
parallel nr.102)

Dejvice haly
Thu
Fri
The course is a part of the following study plans:
Data valid to 2024-12-21
For updated information see http://bilakniha.cvut.cz/en/predmet5720406.html