Course detail

Computers and Programming 2

FEKT-BPA-PC2SAcad. year: 2021/2022

Course is focused on the algorithm development and the structure of assigned tasks. Students learn to choose a suitable program for their implementation. The base of structured programming are presented by the programming language C and Wiring. The students obtain the practical experince in the implementation of tasks in Microsoft Visual studio and Arduino IDE. Second part of the course is focused on the programming in MATLAB. The available libraries and simulated tools are presented with respect to the power engineering. Third part of the course is devoted to the visual programming in LabView. The base principles of the algorithm realization are introduced and also linking of the user interface of an application.

Language of instruction

English

Number of ECTS credits

6

Mode of study

Not applicable.

Learning outcomes of the course unit

The student is able to:
- explain the function of the C language statements,
- describe the properties of the basic data types,
- propose a structure for the representation of complex data,
- use functions included in the standard libraries,
- propose an algorithm working with multi-dimensional and one-dimensional array,
- propose an algorithm to sort a list of values,
- create a library of functions,
- create an interactive application.

Prerequisites

The subject knowledge on the secondary school level is required. Further the basic knowledge of working with files in the Microsoft Windows environment is desirable.

Co-requisites

Not applicable.

Planned learning activities and teaching methods

Techning methods include lectures and computer laboratories laboratories. Students have to write a single project/assignment during the course.

Assesment methods and criteria linked to learning outcomes

up to 22 points from laboratories (2 points for the task in 11 exercises)
up to 20 from tests during semester
up to 28 points for the final test at the end of the semester
up to 30 points for an individual project
To pass the course it is necessary to develop an individual project.

Course curriculum

1. base of algorithm development, flow diagram
2. structured programming, commands, data types
3. input, output, file, equipment
4. creating of custom function, library of functions, parameter passing
5. algorithms for data processing
6. MATLAB – base of programming
7. MATLAB – standard libraries for electrical engineering and power energy
8. MATLAB – advanced programming
9. MATLAB – Simscape Power Systems.
10. LabView – user interface,
11. LabView – basic libraries
12. LabView – data structures, subprogram processing
13. LabView – utilization in power energy

Work placements

Not applicable.

Aims

The aim of the course is to teach students the general programming habits and algorithmization of complex problems. In the course the different programming languages are presented. The

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

DOŇAR, B., ZAPLATÍLEK, K. MATLAB - tvorba uživatelských aplikací. BEN, 2001 (CS)
HAVLÍČEK, J., VLACH, J., VLACH, M., VLACHOVÁ, V. Začínáme s LabVIEW. BEN, 2008 (CS)
KARBAB, P. Výpočty a simulace v programech Matlab a Simulink, COMPUTER PRESS, 2006 (CS)
STROUSTRUP, B. The C++ Programming Language, 4th Edition, Addison-Wesley, 2013. (EN)

Recommended reading

Not applicable.

Elearning

Classification of course in study plans

  • Programme BPA-ELE Bachelor's

    specialization BPA-PSA , 1 year of study, summer semester, compulsory

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