• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

C++ Programming Language

2025/2026
Academic Year
ENG
Instruction in English
6
ECTS credits
Course type:
Compulsory course
When:
1 year, 1-3 module

Instructors


Пронина Анна Сергеевна


Рудаков Кирилл Александрович

Course Syllabus

Abstract

The course is intended to be taught during the second semester of the program. It is dedicated to the base features of the C++ programming language and C++ Standard Library (STL). The part covers all necessary topics that are needed to start developing a modern CLI1-applications in C++. The lectures and practical classes are closely inter-related. The lectures are primarily intended to introduce new topics, whereas the practical classes are intended for solving specific problems by coding programs in C++.
Learning Objectives

Learning Objectives

  • One of the objectives of this course is for the students to will study the methodology of programming.
  • During this course, the students will develop algorithmic thinking.
  • During this course, the students will study approaches and toolchains for the development of C++-applications.
  • During this course, the students will practice application debugging and deployment with respect to various platforms and toolchains.
Expected Learning Outcomes

Expected Learning Outcomes

  • Students will learn basic concepts and methods of software development.
  • Students will learn to analyze a problem to be implemented in the form of a C++-application.
  • Students will learn to create a testbed environment for essential testing of the application.
  • Students will learn to design app architecture with respect to problem decomposition and known limitations.
  • Students will learn to select the most appropriate toolset for app development.
Course Contents

Course Contents

  • Introduction to C++.
  • Data types and Objects.
  • Control flow statements.
  • Expressions and Operators.
  • Functions and procedures.
  • C++ Memory model.
  • Classes.
  • Strings.
  • Standard library (STL).
  • Operator overloading.
  • Templates.
  • Exceptions and Move semantics.
  • Inheritance.
Assessment Elements

Assessment Elements

  • non-blocking CT
    class test
  • non-blocking HW
    yandex.contest programming tasks
  • non-blocking Colloquim
  • non-blocking Activity on seminars
  • non-blocking Project
  • non-blocking CW
    Control work in class
  • non-blocking Exam module 1
    Test from the theoretical part + tasks in Yandex contest, 2 hours.
  • non-blocking Exam module 3
    Test from the theoretical part + tasks in Yandex contest, 2 hours.
Interim Assessment

Interim Assessment

  • 2025/2026 1st module
    Grade_Module1 = 0.25*min(CT;HW) + 0.25*CW + 0,4*colloquium1(EXAM) + 0.1*activity
  • 2025/2026 3rd module
    Final_Grade = 0.2*min(CT; HW; activity) + 0.15*min(colloquium1, colloquium2) + 0.1*max(colloquium1, colloquium2) + 0.2*CW + 0.2*exam + 0.15*project
Bibliography

Bibliography

Recommended Core Bibliography

  • Davis, S. R. (2014). C++ For Dummies (Vol. 7th ed). Hoboken: For Dummies. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=784132
  • Gregoire, M. (2018). Professional C++ (Vol. Fourth edition). Indianapolis, IN: Wrox. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1729638

Recommended Additional Bibliography

  • Olsson, M. (2015). C Quick Syntax Reference. [New York]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=944034

Authors

  • Абдулхакимов Мухиддин Мураджанович
  • GORDENKO MARIIA KONSTANTINOVNA