Course detail

Computers and Programming 2

FEKT-BPC2EAcad. year: 2016/2017

Students become familiar with complex algorithm development, C language based on standard ANSI, programming with strings and files, functions and libraries, extended data types, pointers, dynamic variables, structures, with object programming in C++ language, classes, and graphic applications 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 graduate is able (1) to apply fundamental programming skills and algorithmic thinking, (2) to apply basic properties and structures of C language including object programming in C++, (3) to build up applications with graphical objects in Microsoft Visual Studio.

Prerequisites

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

Co-requisites

Not applicable.

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 12 points for the activity in computer labs, 30 points for homework, 28 points for the final test, and 30 points (maximally) for an individual project in C++.

Course curriculum

1. Summary of programming in C language, programming in C independently on platform.
2. ANSI C, standard libraries in C, compilation, preprocessor, directives, strings in C
3. Programming inputs and outputs, programming with files
4. Advanced data types, structure, union, dynamic variables, linear list, stack, tree
5. Exemplary complex application using dynamic variables, reading and writing to file, and applying own libraries of functions
6. Introduction to object oriented programming, data abstractions, object types, classes, constructors, descructors, simple object definition
7. This pointer, classes usage, overloading of operators
8. Friends, member and non-member classes, dynamic allocation of memory
9. Standard constructors, copying constructors, pointers to objects
10. Class inheritance, polymorphism, virtual functions, derived classes
11. Template classes, friends, nested classes, exceptions
12. Standard template library, programming inputs and outputs, streams, programming with files
13. Graphical outputs in Windows

Work placements

Not applicable.

Aims

The course is aimed to familiarize students with algorithm development of complex task 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.

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.