The goal of the course is to obtain basic knowledge about algorithms and the program development process, as well as to develop skills in C++ programming using structural and object-oriented programming paradigms.
Students will gain an understanding about algorithms and the basic principles of their development, as well as program execution in a computer – the sequence of commands, the memory management, etc. During the course students will obtain thorough theoretical knowledge and practical skills in C++ programming, to be capable of using various language constructs and benefits of object-oriented programming. Students will study most popular data structures and will be able to apply them in the process of developing programs. This course will help students to acquire such competences as ability to organize their work, professional skills related to the work of developing programs, ability to make decisions, taking responsibility for their actions, art of arguing, presenting and defending their opinion.
• Introduction to C++ programming. C++ program structure. C++ program notation, compilation errors. C++ data types. Numeric expressions. Branching operator. Logical expressions and loops. Standard input and output.
• Arrays. Array. Static array. Dynamic array. Multi-dimensional array. More complicated additional exercises.
• Functions. Functions and their parameters. Prototype, call and implementation of function. Default parameters of function. Function overloading.
• Low-level strings and array processing in functions. Low-level strings. Functions for processing low-level strings. Passing an array to a function through parameter.
• Processing text files. File and its processing. Formatted processing of text files. Processing text files by separate symbols. Processing text files by separate lines.
• Object-oriented programming. Basics of object-oriented programming in C++. Constructor and destructor. Basic principles of inheritance.