Course detail

Computers and Programming 2

FEKT-BPC2MAcad. year: 2018/2019

Course is focused on the basic knowledge of the programming language C and C ++. Students learn algorithmization specified tasks, design appropriate data structures, implementation of the program in C/C ++. There are presented some algorithms for processing of numeric and text data. Students will be introduced with the standard libraries, working with files, dynamic structures. Next part of the course deals with object-oriented programming in C ++. It is introduced the concept of classes, inheritance, overloading of operators. Students obtain practical experience in the implementation of tasks in Microsoft Visual Studio.

Language of instruction

Czech

Number of ECTS credits

5

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.

Co-requisites

Not applicable.

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 can obtain up to 22 points for the activity in computer practices, 20 points for tests during the semester, 28 points for the final test, and 30 points (maximally) for an individual project in C++.

Course curriculum

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. Introduction to C language. Basic types of variables, derived types, constants, arrays.
Expressions, arithmetic conversions, arithmetic operators, shift operators, relation operators, logical operators, bitwise operators, assignment
operators, operator priority. Strings and their operators, library functions, standard library string.h. Commands, compound statements, branching commands, cycles and control commands. Flowchart. Function. Declaration of functions, methods of function calling, treatment events, recursion of functions. Advanced data types. Union, enum, dynamic variable, pointer. Objects. Lexical elements, constants and strings, classes, objects, object types. User interface of C++ . Graphical components. Algorithms Finding maxima and minima, sorting. Programming with arrays, matrices operations. Programming with files in Windows. Database systems. Records, sorting, searching, statistics. Linking of databases.

Work placements

Not applicable.

Aims

The aim of the course is to teach students the general programming habits, algorithmization of complex problems and usage of object-oriented approach to programming. Course is focused on C programming language and object-oriented programming in C + + using Microsoft Visual Studio.

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

PECINOVSKÝ, R., VIRIUS, M. Učebnice programování: základy algoritmizace. Praha: Grada Publishing, 1997 (CS)
PROKOP, J. Algoritmy v jazyku C a C++. Praha: Grada Publishing, 2008 (CS)
RAIDA, Z., FIALA, P. Počítače a programování 2. Edice "Elektronická skripta". Brno: FEKT VUT v Brně, 2002. (CS)

Recommended reading

Not applicable.

Classification of course in study plans

  • Programme EECC Bc. Bachelor's

    branch B-MET , 1 year of study, summer semester, compulsory

  • Programme EEKR-CZV lifelong learning

    branch EE-FLE , 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.