Course detail

Computer Programming 2

FEKT-CPC2Acad. year: 2019/2020

ANSI C language - data types, constants, operators, expressions, commands, program, function. Console applications - basic algorithms and programs (searching, sorting). Borland C++ Builder - simple Windows applications.

Language of instruction

English

Number of ECTS credits

5

Mode of study

Not applicable.

Offered to foreign students

Of all faculties

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 education level is requested.

Co-requisites

Not applicable.

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.

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

Work placements

Not applicable.

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.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

DALE, N., WEEMS, CH. Programming in C+. Sudbury: Jones and Bartlett Computer Science, 2005
PRINZ, P., KIRCH-PRINZ, U. A Complete Guide to Programming in C+. Sudbury: Jones and Bartlett Computer Science, 2002

Recommended reading

Not applicable.

Elearning

Classification of course in study plans

  • Programme EECC Bc. Bachelor's

    branch BC-EST , 2 year of study, winter semester, compulsory
    branch BC-AMT , 2 year of study, winter semester, compulsory
    branch BC-MET , 2 year of study, winter semester, compulsory
    branch BC-SEE , 2 year of study, winter semester, compulsory
    branch BC-TLI , 2 year of study, winter semester, compulsory

Type of course unit

 

Lecture

26 hod., optionally

Teacher / Lecturer

Syllabus

1. Definition of the program task, the definition of inputs / outputs, expressing an algorithm in meta-language, rewritting into programming language
2. Introduction to C language. Basic types of variables, derived types, constants, arrays
3. Expressions, arithmetic conversions, arithmetic operators, shift operators, relation operators, logical operators, bitwise operators, assignment operators, operator priority
4. Strings and their operators, library functions, standard library string.h
5. Commands, compound statements, branching commands, cycles and control commands. Flowchart
6. Function. Declaration of functions, methods of function calling, treatment events, recursion of functions
7. Advanced data types. Union, enum, dynamic variable, pointer
8. Objects. Lexical elements, constants and strings, classes, objects, object types
9. User interface of Microsoft Visual C++ Studio. Graphical components
10. Algorithms I. Searching maxima and minima, sorting
11. Algorithms II. Programming with arrays, matrices operations
12. Algorithms III. Programming with files in Windows
13. Algorithms IV. Database systems. Records, sorting, searching, statistics. Linking of databases

Exercise in computer lab

26 hod., compulsory

Teacher / Lecturer

Syllabus

See lectures

Elearning