Course detail

Computers and Programming 2

FEKT-BPC2EAcad. year: 2014/2015

Students become familiar with complex algorithm development, with advanced programming in C language based on standard ANSI, and programming with files. In the following part of course, students become familiar with basic approach to object programming in C++ language, with classes and object, and graphical applications in Microsoft Visual Studio. In the final part of course, students become familiar with usage of Matlab for modeling and simulation of a physical phenomenon and analysis of signals and systems, with vector and matrix representations, 2D and 3D graphs, and also with programming of data files in Matlab.

Language of instruction

Czech

Number of ECTS credits

5

Mode of study

Not applicable.

Learning outcomes of the course unit

The graduate is able (1) to build up complex programs in C language, (2) to use object programming in C++ including building up applications with graphical objects in Microsoft Visual Studio, and (3) to build up models and to administer simulations in Matlab.

Prerequisites

The knowledge on fundamnetal principles of comuters, algoritmization, and basic programming in C language.

Co-requisites

Obtaining of the knowledge on basic application of numerical methods is considered.

Planned learning activities and teaching methods

Teachning methods include lectures and computer laboratories. All learning matters are published in open www pages. Students have to do an individual project during the course.

Assesment methods and criteria linked to learning outcomes

Students can obtain up to 30 points for the activity in computer labs, 10 points for the short tests during semester, 20 points for the final test, and 40 points (maximally) for the individual project in Matlab.

Course curriculum

1. Preprocessor, main function with arguments in C language.
2. File input and output in C language, text and binary files, programming WAV and BMP.
3. Introduction to object oriented programming, introduction to C++.
4. Own class building up, object instances as object of own class
5. Object oriented programming, encapsulation, access definition, polymorphism, inheritance.
6. C++ project development in MS Visual Studio.
7. Dialog applications in Windows.
8. Graphical outputs in Windows.
9. Introduction to Matlab, vector and matrix representations, 2D graphs.
10. Toolboxes and standard Matlab functions, 3D graphs.
11. Modelling of physical phenomenon in Matlab.
12. Programming with files in Matlab
13. Signal and system analysis in Matlab.

Work placements

Not applicable.

Aims

The course is aimed to familiarize students with complex algorithm development and programming thinking with using object programming. The course is aimed also to introduce students with building up of programs in C language and with application of object programming in C++ by using Microsoft Visual Studio. The course is also focused on modelling and programming in Matlab.

Specification of controlled education, way of implementation and compensation for absences

Evaluation of activities is specified by a regulation, which is issued by the lecturer responsible for the course annually.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Prokop, J. Algoritmy v jazyku C a C++. Praha: Grada Publishing, 2008. (CS)
Virius, M. Jazyky C a C++. Komplexní kapesní průvodce. Praha: Grada Publishing, 2005. (CS)
Doňar, B., Zaplatílek, K. MATLAB pro začátečníky. Praha: BEN – technická literatura, 2003.
Doňar, B., Zaplatílek, K. MATLAB - tvorba uživatelských aplikací. Praha: BEN – technická literatura, 2004.

Recommended reading

Not applicable.

Classification of course in study plans

  • Programme EEKR-B Bachelor's

    branch B-EST , 1. year of study, summer semester, compulsory

  • Programme EEKR-CZV lifelong learning

    branch ET-CZV , 1. year of study, summer semester, compulsory

Type of course unit

 

Lecture

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