Course detail

Computer Programming 2

FEKT-BKC-PP2Acad. year: 2021/2022

Algorithms in MATLAB. Introduction to Python. Basic data types and statements. Algorithms in Python: transcript of selected MATLAB routines. Advanced data types (sets, collections). Creating and calling functions. Local and recursive functions, control structures and functions. Modules and packages. Files operations. Object-oriented programming. Graphical user’s interface. Examples of applications.

Language of instruction

Czech

Number of ECTS credits

5

Mode of study

Not applicable.

Learning outcomes of the course unit

Obtaining basic programming abilities and algorithmic thinking. Understanding fundamentals of Python.

Prerequisites

The subject knowledge on the secondary school level is required.

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

Evaluated computer exercises: 10 x 4 = 40 points. Tests during semester: 3 x 5 = 15 points. Individual project in Python: 45 points.

Course curriculum

01. Algorithms in MATLAB I. Sorting, searching for extremum and a zero point, numeric integration
02. Algorithms in MATLAB II. Matrix operations, inversion, evaluating determinant
03. Introduction to Python. Basic data types and statements.
04. Algorithms in Python I. Transcript of selected MATLAB routines.
05. TEST I. Advanced data types (sets, collections). Creating and calling functions.
06. Local and recursive functions, control structures and functions.
07. Individual project. Specification, discussion and examples of solution.
08. Algorithms in Python II. Convolution, FIR filtration, spectrum analysis.
09. TEST II. Modules and packages.
10. Files operations.
11. Object-oriented programming.
12. Graphical user’s interface.
13. TEST III. Examples of applications. Finishing the project.

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

LUTZ, M. Learning Python, 5/E. Sebastopol (Canada): O’ Reilly Media, 2013. ISBN: 978-1-449-35573-9 (CS)
BEAZLEY, D., JONES B.K. Python Cookbook, 3/E. Sebastopol (Canada): O’ Reilly Media, 2013. ISBN: 978-1-449-34037-7 (CS)

Recommended reading

Not applicable.

eLearning

Classification of course in study plans

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

Type of course unit

 

Lecture

26 hours, optionally

Teacher / Lecturer

Syllabus

1. Algorithmization (extensions of basic knowledge from the previous semester). Definition of the 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. Finding 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 hours, compulsory

Teacher / Lecturer

Syllabus

1. Algorithmization (extensions of basic knowledge from the previous semester). Definition of the 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. Finding 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.

eLearning