Course detail
Programming and Algorithms 1
FEKT-BPC-PP1Acad. year: 2023/2024
The whole course will be taught in the MATLAB environment (or its freeware alternatives). Students will learn matrix operations, logical and relation operators. Next, advanced data types (e.g. complex numbers, structures, cells), program controlling methods (if-elseif-else conditions, for and while cycles, switch-case structures) will be taught. Methods for a program acceleration like the vectorization and code optimization will be emphasized. Students will learn about the object oriented programming basics and graphical user interface.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Entry knowledge
Rules for evaluation and completion of the course
The definition of point-awarded activities and how it is to be carried out is set out in the annually updated course guarantor's statement.
Aims
The graduate is able to:
1) Process maThe graduate is able to:
1) Process matrix operations in MATLAB.
2) Transform mathematical algorithms into MATLAB functions.
3) Plot 2D a 3D functions.
4) Create MATLAB applications with graphical user interface.
5) Write well-arranged and understandable code according to programming conventions.
trix operations in Matlab.
2) Transform mathematical algorithms into Matlab functions.
3) Plot 2D a 3D functions.
4) Create Matlab applications with graphical user interface.
5) Write well-arranged and understandable code according to programming conventions.
Study aids
Prerequisites and corequisites
Basic literature
MATLAB Primer. Www.mathworks.com [online]. 3 Apple Hill Drive Natick, MA 01760-2098: The MathWorks, 2017 [cit. 2017-08-21]. Dostupné z: https://www.mathworks.com/help/pdf_doc/matlab/getstart.pdf (CS)
Recommended reading
Elearning
Classification of course in study plans
- Programme BPC-ECT Bachelor's 1 year of study, summer semester, compulsory
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
1. Introduction, history of Matlab, alternatives, coding conventions, script.
2. Matrix creation, matrix operations, indexing, logical and relational operations.
3. Advanced data types (complex numbers, char, logical, structures, cell).
4. Program controls, conditions, cycles.
5. Functions- header, local vs. global variables and Workspace.
6. Algorithms - algorithm description, time/memory complexity, sorting algorithms.
7. Algorithms - data structures, paradigms - Brute force, Command and Conquer, Greedy algorithm, Dynamic programing, backtracking.
8. Functions - handle, vectorization, code optimization, bsxfun, arrayfun, cellfun.
9. Graphics – plotting options, tex commands.
10. File management – read and write.
11. GUI – graphical user interface, guide interface.
12. GUI - graphical user interface and uicontrols.
13. OOP - class/object, properties and methods, constructor, set, get, inheritance, access, namespace, enumeration.
Exercise in computer lab
Teacher / Lecturer
Syllabus
1. Introduction, history of Matlab, alternatives, coding conventions, script.
2. Matrix creation, matrix operations, indexing, logical and relational operations.
3. Advanced data types (complex numbers, char, logical, structures, cell).
4. Program controls, conditions, cycles.
5. Functions- header, local vs. global variables and Workspace.
6. Algorithms - algorithm description, time/memory complexity, sorting algorithms.
7. Algorithms - data structures, paradigms - Brute force, Command and Conquer, Greedy algorithm, Dynamic programing, backtracking.
8. Functions - handle, vectorization, code optimization, bsxfun, arrayfun, cellfun.
9. Graphics – plotting options, tex commands.
10. File management – read and write.
11. GUI – graphical user interface, appdesigner interface.
12. GUI - graphical user interface and uicontrols.
13. OOP - class/object, properties and methods, constructor, set, get, inheritance, access, namespace, enumeration.
Elearning