Course detail

Computer Programming 2

FEKT-BPC-PP2Acad. year: 2019/2020

ANSI C language - data types, constants, operators, expressions, commands, program, function, structures, dynamic variables. Console applications - basic algorithms and programs (searching, sorting). Introduction to object programming, simple Windows applications in C++.

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.

Prerequisites

The subject knowledge on the secondary school level is required.

Co-requisites

Not applicable.

Recommended optional programme components

Not applicable.

Recommended or required reading

PROKOP, J. Algoritmy v jazyku C a C++. Praktický průvodce. Praha: Grada , 2008. 160 s. ISBN 978-80-247-2751-6. (CS)
RAIDA, Z.; HLAVIČKOVÁ, I.; POKORNÝ, M. Počítače a programování 2. Brno: FEKT VUT v Brně, 2007. s. 1-113. ISBN: 978-80-214-3536- 0. (CS)
PECINOVSKÝ, R., VIRIUS, M. Učebnice programování: základy algoritmizace. Praha: Grada Publishing, 1997
RAIDA, Z., FIALA, P. Počítače a programování 2. Brno: FEKT VUT v Brně, 2002.
MATOUŠEK, D. C++ bez předchozích znalostí. Brno: Computer Press, 2016. 272 s. ISBN 978-80-251-4640-8. (CS)
VIRIUS, M. Jazyky C a C++. Komplexní kapesní průvodce. Praha: Grada Publishing, 2005

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

Czech

Work placements

Not applicable.

Course curriculum

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
9. Networking
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

Aims

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.

Classification of course in study plans

  • Programme BPC-EKT Bachelor's, 2. year of study, winter semester, 5 credits, compulsory

  • Programme EEKR-CZV lifelong learning

    branch ET-CZV , 1. year of study, winter semester, 5 credits, compulsory

Type of course unit

 

Lecture

26 hours, optionally

Teacher / Lecturer

Exercise in computer lab

26 hours, compulsory

Teacher / Lecturer

eLearning