Course detail
Algorithms and Programming Techniques
FSI-VCP Acad. year: 2022/2023 Summer semester
The course deals with algorithms and programming. C and C ++ programming languages are used for practicing. C (and languages derived from it) is currently one of the most widely used programming languages. Its great advantages include its universal applicability for various application areas and availability for most existing platforms. The C ++ language shows a very high degree of implementation of the features of object-oriented programming. The C ++ compiler is available for various platforms, the language itself is very well standardized. These features make C ++ one of the most suitable languages for building large-scale applications today.
Language of instruction
Czech
Number of ECTS credits
5
Supervisor
Department
Learning outcomes of the course unit
Students will obtain the basic skills and experiences of program writing and debugging of average stage of difficulty. Students gain insight into principles and methods of object-oriented programming using C++ language.
Prerequisites
The course expects basic knowledge of algorithms and computer literacy.
Planned learning activities and teaching methods
The course is taught through lectures explaining the basic principles and theory of the discipline. Exercises are focused on practical topics presented in lectures.
Assesment methods and criteria linked to learning outcomes
The course-unit credit award requirements are both active participation in seminars and individual elaboration of two software projects (the first project in the C language and the second one in the C++ language). Students select their projects assignments, which are approved by the teacher. The examination is oral and consists of discussion on the created projects with possible complementary questions. The evaluation is fully in competence of a tutor according to the valid directives of BUT.
Aims
The aim of the course is to learn how to formulate algorithms for a wide range of engineering tasks, develop programs in C and C ++ languages and understand the features of object-oriented programming and methodology of program design and creation using OOP.
Specification of controlled education, way of implementation and compensation for absences
The attendance at lectures is recommended; the attendance at seminars is obligatory. Education runs according to week schedules. The form of compensation for missed seminars is fully in the competence of the tutor.
The study programmes with the given course
Programme N-AIŘ-P: Applied Computer Science and Control, Master's, elective
Programme B-STR-P: Engineering, Bachelor's
specialization AIŘ: Applied Computer Science and Control, compulsory
Type of course unit
Lecture
26 hours, optionally
Teacher / Lecturer
Syllabus
1. Introduction, Basic Data Types. Operators, Expressions.
2. Declaration and Definition. Programm Structure. Control Structures.
3. Arrays and Pointers, Pointer Aritmetic. Functions.
4. Structures, Unions, Type Definition. Preprocessor. Files and Streams.
5. C++ Language History. Differences between C and C++ languages.
6. OOP basic concepts. Object data types, member functions.
7. Class member access control. Constructors and destructors. Static members. Operator overloading.
8. Inheritance. Polymorphism, virtual member functions, abstract classes.
9. C++ data streams. Data structures in C++.
10. Exceptions handling. Templates.
11. Object oriented analysis and design.
12. – 13. Design and development of large projects using C++.
Computer-assisted exercise
26 hours, compulsory
Teacher / Lecturer
Syllabus
1. Introduction to Visual Studio. Simple console application.
2. Console applications development using Visual Studio.
3.-5. Realization of C-programs for basic algorithms – array processing, pointers, dynamic data structures.
6. Large projects in C.
7. Constructrors and destructors.
8. Inheritance, polymorphism.
9. Data structures realization in C++.
10. Templates.
11. Event driven programming. Example of Windows application.
12. Simple projects in Java a C#.
13. Discussion of individual projects.