We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

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

C++ Programming Language

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

Instructors


Kopylov, Ivan


Овчинников Сергей Андреевич


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


Ярцев Михаил Сергеевич

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 Homework
  • non-blocking Midterm
  • blocking Colloquium
  • non-blocking Exam
  • non-blocking Lecture tests
Interim Assessment

Interim Assessment

  • 2024/2025 4th module
    0.2 * Colloquium + 0.3 * Exam + 0.2 * Homework + 0.1 * Lecture tests + 0.2 * Midterm
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