Algorithms and Programming
CESA-SPRGAcad. year: 2020/2021
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.
Learning outcomes of the course unit
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 Matlab - create scripts and functions,
- work with the basic data formats,
- create a search function and basic methods of sorting by known algorithms,
- use the features most used libraries,
- create own toolboxes of functions,
- own programs to describe and explain.
Secondary-school knowledge of the study area.
Recommended optional programme components
Recommended or required reading
BARDOŇOVÁ, J.: Algoritmizace a programování. Brno: VUT v Brně, 2007. (CS)
Wirth N: Algorithms + Data Structures = Programs, Prentice-Hall, New Jersey, 1985, ISBN 0-13-022418-9 (EN)
Padmanabhan, T R: Programming with Python, Springer Nature Singapore Pte Ltd. 2016 (EN)
Lee, Kent D ; Hubbard, Steve ; Cham: Data Structures and Algorithms with Python, Springer International Publishing ; 2015 Undergraduate Topics in Computer Science (EN)
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
Students must obtain at least 50 points out of total 100 points in the sub-activities:
1. test: Programming in Matlab (min 3 points, max 10 points)
2. test: Design of algorithms (min 3 points, max 10 points)
3. project: design a toolbox of functions (min 4 points, max 15 points) + technical documentation (min 3 points, max 10 points)
4. final test: (min 20 points, max 55 points)
Individual activities to check students' ability to design algorithms for solving simple problems and demonstrate the implementation of the relevant programs.
Language of instruction
1. Programming, algorithm, design of the program
2. Introduction to Python
3. Review of basic data structures and their use
4-5. The basic elements of the program, loops, recursion
6. Algorithmic numerical methods
7. Sorting algorithms
8. Search algorithms
9. Text search
10. Removal of recursion and optimization algorithms
The aim of the course is to introduce basic programming and learning habits. Further introduction to the programming environment Matlab and programming custom scripts and functions.
Specification of controlled education, way of implementation and compensation for absences
Computer exercises are mandatory, properly excused missed lectures can be compensated individually after discussion with teacher.
Classification of course in study plans
- Programme BPC-STC Bachelor's, 1. year of study, summer semester, 4 credits, compulsory