Course detail

Algorithms and Programming

CESA-SPRGAcad. year: 2024/2025

The course is designed as an introduction to the problems of algorithms and programming. Students are introduced to the basic concepts of programming, development of algorithms and programs. The emphasis is on the design and implementation of programs. The knowledge of the basic elements of the program is required and students should be able to use these elements. Students are familiar with the programming language Python, which will be used for solving simple problems.

Language of instruction

Czech

Number of ECTS credits

4

Mode of study

Not applicable.

Entry knowledge

Secondary-school knowledge of the study area.

Rules for evaluation and completion of the course

Students must obtain at least 50 points out of total 100 points in the sub-activities:
1. midterm test (min. 15 points, max. 30 points),
2. final test (min. 25 points, max. 50 points),
3. home works (10 x 2 points, max. 20 points).
Individual activities to check students' ability to design algorithms for solving simple problems and demonstrate the implementation of the relevant programs.
Computer exercises are mandatory, properly excused missed lectures can be compensated individually after discussion with teacher.

Aims

The aim of the course is to introduce basic programming habits. Further to introduce Python programming language and basics of algorithmic problem solving.
Students are able to:
- propose algorithms of simple tasks,
- use basic elements of the program (variables, mathematical operations, conditions, loops, etc.),
- use an iterative and recursive procedures,
- designed algorithms written in the programming language Python,
- work with the basic data structures,
- create a search function and basic methods of sorting by known algorithms,
- create own toolboxes of functions,
- to describe and explain custom programs.

Study aids

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

BARDOŇOVÁ, J.: Algoritmizace a programování. Brno: VUT v Brně, 2007. (CS)
Lee, Kent D ; Hubbard, Steve ; Cham: Data Structures and Algorithms with Python, Springer International Publishing ; 2015 Undergraduate Topics in Computer Science (EN)
Padmanabhan, T R: Programming with Python, Springer Nature Singapore Pte Ltd. 2016 (EN)

Recommended reading

Wirth N: Algorithms + Data Structures = Programs, Prentice-Hall, New Jersey, 1985, ISBN 0-13-022418-9 (EN)

Classification of course in study plans

  • Programme SPC-STC Bachelor's 1 year of study, summer semester, compulsory

Type of course unit

 

Computer-assisted exercise

39 hod., compulsory

Teacher / Lecturer

Syllabus

1. Programming, algorithm, introduction to Python
2. Review of basic data types and their use, strings
3. Basic elements of the program, conditions, lists and their use
4. Basic elements of the program, for loops and examples I.
5. Basic elements of the program, while loops and examples II.
6. Function and modules
7. Git basics
8. File handling in Python
9. Review of basic data structures and their use
10. Performance analysis of algorithms, time complexity
11. Search algorithms
12. Sorting algorithms
13. Recursion, divide and conquer