Computer Programming 2
FEKT-BPA-PP2Acad. year: 2020/2021
Python, data types, control structures and functions, modules and packages, algorithms (search for maximum / minimum, Euclidean algorithm, multiplication of matrices, roots of polynomials, Gauss-Seidel method, sorting algorithms), object-oriented programming, working with files, image Processing (OpenCV), graphical User Interface Programming (Qt, Tk).
Nabízen zahradničním studentům
Learning outcomes of the course unit
Obtaining basic programming abilities and the ability of algorithmic thinking. Understanding basic properties and strctures of Python and the ability to apply them.
The subject knowledge on the secondary school level is required.
Recommended optional programme components
Recommended or required reading
KOCHAN, Stephen G. Programming in C. 3rd ed. Indianapolis, Ind.: Sams Pub., c2005. ISBN 0-672-32666-3. (EN)
VANDEVOORDE, David, Nicolai JOSUTTIS a Douglas GREGOR. C++ templates: the complete guide. Second edition. Boston: Addison-Wesley, . ISBN 978-0-321-71412-1. (EN)
Planned learning activities and teaching methods
Teaching methods depend on the type of course unit as specified in the article 7 of BUT Rules for Studies and Examinations.
Assesment methods and criteria linked to learning outcomes
The student can obtain up to 32 points for the activity in computer exercises and 68 points for an individual project in Python.
Language of instruction
1. Introduction to procedural programming in Python. Basic data types
2. Data types (Sets, N-flows, collections), function creation and calling
3. Control structures and functions, modules and packages, local and recursive functions
4. Algorithms I (search for maximum / minimum, Euclidean algorithm, multiplication of matrices, roots of polynomials, Gauss-Seidel method, sorting algorithms)
5. Object-oriented programming, working with files
6. Image Processing (OpenCV)
7. Processes and threads, databases
8. Working with vectors, matrices and tensors
10. Neural networks
11. Algorithms II (1D convolution, FIR filtering, Flood fill, Dijkstra's algorithm)
12. Graphical User Interface Programming (Qt, Tk)
13. Basics and syntax of C language
To educate students in algorithmic and programming thinking. To explain basic properties and structures of Python language.
Specification of controlled education, way of implementation and compensation for absences
The content and forms of instruction in the evaluated course are specified by a regulation issued by the lecturer responsible for the course and updated for every academic year.