Skip to content
ProgrammingAdvanced

Advanced programming and competitive algorithms

Advanced C++ training for students who want to master algorithms, data structures, optimisation, and strategies for competitive programming.

For students who want to program faster, smarter, and at a higher level. This course focuses on advanced C++ programming, algorithmic thinking, and systematic preparation for programming competitions. Students work on problems requiring careful analysis, appropriate algorithm selection, and efficient implementation. Special attention is given to time and memory complexity, data structures, optimisation techniques, and the ability to break a large problem into clear and manageable components. Students also develop competition strategy: assessing problem difficulty, managing available time, and choosing efficient approaches under pressure. These skills deliver results in competitions while also building a foundation for future studies and careers in technology. The next great algorithm could begin with your idea.

BU

What you will learn

  • Use C++ effectively for advanced algorithmic programming.
  • Analyse time and memory complexity.
  • Apply algorithms and data structures to complex problems.
  • Improve implementation efficiency, accuracy, and code quality.
  • Develop effective competitive-programming strategy and time management.

Prerequisites

  • Solid knowledge of C++ fundamentals.
  • Understanding of basic algorithms and data structures.
  • Previous experience solving programming problems.
  • Willingness to practise consistently and intensively.

Current and upcoming cohorts

Autumn cycle 2026/2027

Ongoing
Start
End
Schedule

Classes start on 3 October 2026 and run regularly through the autumn–winter cycle. Students refine the algorithms, data structures and strategies needed for competitive programming. The exact weekly timetable and session times will be shared with enrolled students.

Enrollment is open

ApplySign in to apply