• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site
Bachelor 2025/2026

C++ Programming Language

Language: English
ECTS credits: 6
Contact hours: 172

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.25*min(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

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