© Alvaro Claver

APPLY FOR CHAOS CAMP 2019–2020

FREE C++ ALGORITHMIC COURSE

Chaos Camp 2019-2020 is a series of free courses for young people interested in gaining knowledge and skills in different aspects of coding. After successfully attending one of these courses, you will also have the opportunity to take part in our 2020 Chaos Internship program.

Chaos Camp 2019–2020 will start with a C++-based algorithmic course. Trainers will include Associate Professor Ph.D., Peter Armyanov from Sofia University/MNKnowledge and Lyubomir Koev, Software Developer at Chaos Group.

WHO IS IT FOR? 

Chaos Camp 2019–2020 is suitable for students and junior professionals interested in mathematical algorithms.

WHAT ARE THE BENEFITS? 

By successfully completing this course, you will gain highly valuable skills and knowledge and have the chance to participate in the 2020 Chaos Group Internship program.

WHEN? 

The course will be held twice per week as an evening class from November 18, 2019, to February 4, 2020, in Sofia, Bulgaria. Classes take place every Monday and Tuesday at 6:30 PM.

HOW CAN I APPLY? 

Entry is now closed. Thank you to all that took part!

Process

We are limited to just 30 seats on this course. After the preselection process is complete, you will be asked to take a test on November 16, 2019. We will provide more information about the test when we contact you after receiving your application. 

Program

Date

Time

Topic

16 November

14.00

Entrance test: C++ theory and practical C++ programming tasks

18 November

18.30

Data types and their behaviors
Math algorithms
Dealing with floating-point numbers
Precision in floating-point calculations
Specifics

19 November

18.30

A high-level look at computer architectures
Memory structure and why we need to know about it
Memory access patterns and data arrangement

25 November

18.30

Recursion
Backtracking
Memoization

26 November

18.30

Statistical and probabilistic algorithms
Randomized algorithms

2 December

18.30

Introduction to parallel calculations and algorithms
Specifics and what to be aware of
A simple example with OpenMP
Examples with statistical algorithms

3 December

18.30

Sorting algorithms
Types and specifics
Generic algorithms: selection sort, insertion sort, bubble sort, shaker sort, shell sort, merge sort
Quicksort

9 December

18.30

Data-dependent algorithms
Counting sort and radix sort

10 December

18.30

Searching: linear, binary, interpolation and parallel

16 December

18.30

Heap and Heap sort
Hash functions and hash tables

17 December

18.30

When we run out of memory — external searching and sorting
Indexing

19–22 December

18.30

Mid-term exam

6 January

18.30

Some special linear data structures: Chunk array and Skip list

7 January

18.30

Non-linear data structures
Trees, DFS and BFS
Binary-ordered tree
When to use it and when to avoid it

13 January

18.30

How to fix the broken tree
Balanced trees
DSW algorithm for balancing

14 January

18.30

Self-balancing trees
Red-black tree
AVL tree

20 January

18.30

Shared access to the tree
Parallel building and searching in a BST

21 January

18.30

B-trees

27 January

18.30

More on trees: Prefix trees and Automata

28 January

18.30

Interval trees
Dynamic Order Statistics

3 February

18.30

Regular trees with higher dimension
KD-trees
BVH

4 February

18.30

More on probabilities and statistics
Monte Carlo and Las Vegas algorithms

8 February

14:00

Final exam

Venue

Lozenets Hall

2 Biser Street, Sofia, Bulgaria

MENTORS

Associate Professor Petar Armyanov, Ph.D

Associate Professor Petar Armyanov, Ph.D. holds an MSC and Ph.D. degree in Informatics from Sofia University St. Kliment Ohridski. He joined the faculty in 2016 to teach 12 subjects all related to programming. He was also the assistant coach of the University’s programming team. His interests include algorithms, programming languages, computer graphics, and high-performance computing. Additionally, Armyanov has more than 10 years of professional experience as a programmer.

Lyubomir Koev

Lyubomir Koev is a C++ developer at Chaos Group where he has worked for more than four years. His core strengths are C++ and algorithms (his weakness is gaming!). For the past six years, he’s been a teaching assistant at FMI at SU for courses in C++, data structures and algorithms — you can find his published materials on his GitHub profile.

© 2026 Chaos Software EOOD. All Rights reserved. Chaos®, V-Ray® and Phoenix FD® are registered trademarks of Chaos Software EOOD in Bulgaria and/or other countries.