Course detail

Computer Programming 2

FEKT-XPA-PP2Acad. year: 2024/2025

Basic data types. Algorithms. Functions. Advanced data types. Files. Object-oriented programing. Graphical user's interface. Modules and packages, Windows applications I, II. Web applications. Server communication.

Language of instruction

English

Number of ECTS credits

5

Mode of study

Not applicable.

Offered to foreign students

Of all faculties

Entry knowledge

Secondary school knowledge required.

Rules for evaluation and completion of the course

- 12 exercises x 4 points = 48 points; minimum 24 points
- 3 tests x 8 points = 24 points; minimum 12 points
- 1 project x 28 points; minimum 14 points

Aims

To teach students basic algorithmic and programming thinking. To explain the basic features and structures of the Python language.

Study aids

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 (EN)
BEAZLEY, D., JONES B.K. Python Cookbook, 3/E. Sebastopol (Canada): O’ Reilly Media, 2013. ISBN: 978-1-449-34037-7 (EN)

Recommended reading

Not applicable.

Elearning

Classification of course in study plans

  • Programme BPA-ELE Bachelor's

    specialization BPA-ECT , 2 year of study, winter semester, compulsory

  • Programme MPA-AEE Master's 0 year of study, winter semester, elective

Type of course unit

 

Lecture

26 hod., 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 hod., 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