generic-logo-colour-white-chaos-camp.svg

Join. Learn. Grow.

Free academy for junior developers.

What is Chaos Camp?

Chaos Camp is Chaos’ annual programming academy for junior developers interested in gaining the coding knowledge and skills essential for a career in software development for computer graphics. The academy is organized in partnership with MNKnowledge—a trusted provider of educational services in the field of information technology.

Chaos Camp 2024 in a nutshell:

  • 3.5-month free intensive online training conducted in English
  • Lectures and assignments in C++ algorithms, data structures, and ray tracing
  • Training in engineering habits and business coaching
  • Open for applicants from Bulgaria, Czechia, Denmark, and Germany
  • Certificate of Completion awarded to participants who attend at least 80% of lectures and submit at least 80% of the assignments
  • Best-performing Chaos Camp students may be interviewed to join Chaos

Join Chaos Camp, learn from highly skilled mentors, and get a chance to grow your career as part of Chaos’ development team. 

The application for Chaos Camp 2024 has already been closed.

How to apply for Chaos Camp

Admission and completion steps
icon-frame-black-approval.svg
March 7, 2024

Join the online Chaos Camp Meetup to meet the lecturers, see the detailed course calendar, and ask your questions.

Watch the webinar recording >

icon-frame-black-approval.svg
By March 21, 2024

Apply for Chaos Camp and take the next step in your journey after graduating from university or acquiring some practical experience.

icon-frame-black-approval.svg
By April 2, 2024

Score high on the Chaos Camp entry test in math, algorithms, and software development basics to become a Chaos Camp student.

*Only shortlisted candidates will be invited to take the test.

icon-frame-black-approval.svg
April 2, 2024

Get ready to join the first Chaos Camp lecture on April 2, 2024. The training will continue until mid-July.

*Approved candidates will sign a Participation Agreement.

icon-frame-black-approval.svg
July, 2024

Be among the best-performing Chaos Camp students for a chance to interview for a developer role at Chaos.

*Approved candidates will complete additional training in C++ algorithms and machine learning in the fall of 2024 during their onboarding phase at Chaos.

Chaos Camp Curriculum


Lectures: Twice a week (Mondays & Wednesdays), start at 17:00 CET
Format: Online, 2 hours per lecture
Duration: April 2 to July 17, with some days off

Complementary program:

  • Business coaching, April 18-19, 9:00 - 12:00 CET;
  • Engineering habits, May 16, 21, 23, and 30, 17:00 - 19:00 CET


  • Data types and their behavior. Math algorithms. Dealing with the floating point numbers. Precision in floating point calculations. Specifics.
  • A look at computer architectures. Memory structure. Why do we need to know that? Access patterns and according data arrangement.
  • Recursion. Backtracking. Memoization.
  • Statistical and probabilistic algorithms. Randomized algorithms.
  • Introduction to parallel calculations and algorithms. Specifics and what to be aware of. A simple example. Examples with statistical algorithms.
  • Sorting algorithms. Types, specifics.
  • Generic algorithms: selection sort, insertion sort, bubble sort, shaker sort,
  • Shell sort, merge sort, quick sort.
  • Special algorithms: counting sort, radix sort.
  • Searching - linear, binary, interpolation, and parallel.
  • Geometry.
  • Introduction to computer graphics and ray tracing. 
  • Foundations: pixels, resolution, 2D image creation and manipulation, color models.
  • Triangle 01: dot and cross product of vectors, ray-plane intersection detection.
  • Triangle 02: inside out check for a point in triangle, ray-triangle intersection algorithm.
  • Camera animation: introduction to animation in CG, rotation matrices, camera local coordinate system, types of camera movements.
  • Scene: mesh geometries, JSON scene representation, creating and parsing.
  • Light: shadow rays, direct lighting algorithm.
  • Shading 01: barycentric coordinates, flat vs smooth shading, reflections, rendering algorithm.
  • Shading 02: refraction.
  • Shading 03: refraction + reflection.
  • Shading 04: Textures
  • Optimizations 01: multithreading, bucket rendering, AABB, ray-AABB intersection.
  • Optimizations 02: KD trees, creations, manipulation, intersecting, BVH trees, creations, manipulation, intersecting.
  • Conclusion: diffuse reflections and GI, FOV, implicit surface (Sphere) intersection, antialiasing. 
  • Project.
  • Problem-solving
  • Algorithmic thinking
  • Pattern recognition
  • Version control systems
  • Test-driven development (TDD)
  • Documentation
  • Agile methodologies
  • Project management
  • Communication skills
  • Continuous integration and delivery (CI/CD)
  • DevOps practices
  • Quality assurance (QA)
  • Continuous learning
  • Problem decomposition
  • Time management
  • Attention to detail
  • Collaboration
  • Critical thinking
  • Security awareness
  • Adaptability
  • Data mining & prompt engineering
  • Teamwork
  • Diversity at work 
  • Responsibility at Work

Meet the lecturers

Associate Professor Petar Armyanov, Ph.D.

Mentor, C++ Algorithms and Data Structures

Lyubomir Koev

Mentor, C++ Algorithms and Data Structures

Vladislav Vulchev

Mentor, Ray tracing

Professor Krassimir Manev, Ph.D.

Guest lecturer, C++ Algorithms and Data Structures

Associate Professor Boyko Bantchev, Ph.D.

Guest lecturer, C++ Algorithms and Data Structures

Valentin Nikolov

Lecturer, Engineering Habits

Zlatina Mihaylova, PhD

Lecturer, Business Coaching

Ivan Vardarov

Course assistant, Ray tracing

Dimitar Bashliev

Course assistant, Ray tracing

Meet participants from previous Chaos Camp editions.

Argir Boyadzhiev, Algorithms for С++ course
Asen Markov, Ray Tracing course

Argir Boyadzhiev

Software Developer, Chaos Vantage team, Participant in Chaos Camp 2020 - 2021

"The Algorithmic course teaches you how to reach the performance potential of C++. It covers not only algorithms and data structures but also how computers work and how to better utilize their resources. It helped me understand new concepts and filled gaps in my knowledge. 

I've been a part of Chaos for about 3 years now. This course was a key step in my journey, and maybe it will be for you too."

Argir_Boyadzhiev_540x540.png
Argir Boyadzhiev, Algorithms for С++ course
Asen Markov, Ray Tracing course

FAQ

Who is Chaos Camp for?

Chaos Camp is open to applicants aged 18+ based in Bulgaria, Czechia, Denmark, or Germany. Applicants must be junior developers, recent graduates, or university students close to graduating in a relevant field such as software development or computer science. Applicants are expected to have knowledge and interest in mathematics, algorithms, C++ development, and coding for computer graphics which will be assessed through the Chaos Camp entry test.

Is Chaos Camp suitable for high school graduates and junior students?

The Chaos Camp 2024 training requires some knowledge and experience in mathematics, algorithms, and C++ programming. If you are aged 18+ and consider yourself well-prepared in these subjects, don’t hesitate to apply. If you are invited to take the Chaos Camp entry test but your results turn out to be insufficient, don’t hesitate to try again next year. 

What is the Chaos Camp 2024 admission procedure?

You can submit your application by March 21, 2024. The shortlisted candidates will be invited to take an online entry test to assess their knowledge of mathematics, algorithms, and software development. The approved candidates will join the Chaos Camp intensive training starting April 2, 2024.    

What are my chances of admission?

The shortlisted candidates must complete the Chaos Camp online entry test to assess their knowledge of mathematics, algorithms, and software development. Up to 30 best performers will be invited to join the Chaos Camp 2024 course. So you’d better take your time to prepare well for the entry test.

How can I prepare for the Chaos Camp entry test?

To achieve a high score on the entry test, you need to demonstrate your knowledge in:

  • Basics of C++ programming
  • Basic understanding of mathematics
  • Knowledge of algorithms and data structures 
  • Some knowledge of computer architecture and operating systems 
Why is Chaos Camp 2024 only open for applicants based in Bulgaria, Czechia, Denmark, and Germany?

Although Chaos Camp is a free training aiming to elevate juniors’ skills, it is also a way for Chaos to find the most suitable and motivated candidates for junior developer positions at the company. Chaos Camp 2024 is looking for candidates based in the locations of our key development teams. If you are invited to join Chaos you will be expected to visit the office resp. in Sofia, Prague, Copenhagen, or Karlsruhe.

Will I get a certificate at the end of the Chaos Camp training?

All Chaos Camp students who attend at least 80% of the course lectures and submit at least 80% of the homework assignments will receive a Certificate of Completion issued by Chaos. The Certificate will show details about the course curriculum.

Will Chaos Camp help me become a Chaos employee?

Chaos Camp can be a doorway for several best-performing course participants to join a Chaos coding team. They will be selected for an entry interview after the end of the Chaos Camp 2024 training in July 2024.

Is Chaos Camp free?

The Chaos Camp training is free of charge for all participants. There will be no fees or taxes.

Past courses

© 2024 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.