Course detail

Computers and Programming 2

FEKT-BKC-PC2MAcad. year: 2023/2024

The course is focussed on the basic knowledge of ANSI/ISO C programming. Students learn to design algorithms solving assigned tasks, using appropriate data types or designing custom data structures together with implementation of the solution in ANSI/ISO C language. Algorithms for numerical and text data are presented, students are introduced with the standard libraries, working with files, pointers, dynamic memory allocation and creation of own custom libraries.

Language of instruction

Czech

Number of ECTS credits

5

Mode of study

Not applicable.

Entry knowledge

The subject knowledge on the secondary school level is required.

Rules for evaluation and completion of the course

Requirements for successful completion of the subject are specified by guarantor’s regulation updated for every academic year.
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.

Aims

The aim of the course is to introduce students to the problem of general programming habits and algoritmization of technical taksk together with the implementation in ANSI/ISO C programming language.
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.

Study aids

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

PROKOP, J. Algoritmy v jazyku C a C++. Praha: Grada Publishing, 2008 (CS)
PECINOVSKÝ, R., VIRIUS, M. Učebnice programování: základy algoritmizace. Praha: Grada Publishing, 1997 (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 BKC-MET Bachelor's, 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.