electicode
HomeCoursesResourcesProblems
...

Courses

Choose a course

Each course is a series of short lessons with activities to try as you go.

Learn to program

Start here if you're new to writing code.

17 modules
52 lessons
12 min

Introduction to Programming - C++

Learn the fundamentals of programming language C++ through hands-on exercises and practical examples.

14 modules
56 lessons

Introduction to Programming - Python

Learn the fundamentals of programming language Python through hands-on exercises and practical examples.

Olympiad training

Competition preparation and harder problem sets.

12 modules
16 lessons

Preparation to IOI Part 1

Build the core problem-solving skills every competitive programmer needs. This course introduces essential techniques such as binary search, prefix sums, greedy algorithms, two pointers, sliding window, recursion, complete search, and the first basics of graphs and combinatorics.

8 modules
22 lessons

Preparation to IOI Part 2

Learn the main ideas that form the backbone of contest problem solving. This course covers dynamic programming, number theory, graph traversals, shortest paths, geometry, scanline, basic game theory, and more advanced forms of binary search.

8 modules
22 lessons

Preparation to IOI Part 3

Move beyond the basics and learn how to solve more technical and structured problems. This course includes 2D dynamic programming, DSU, MST, combinatorics, geometry, heaps, arbitrary-precision arithmetic, and useful optimization techniques.

9 modules
14 lessons

Preparation to IOI Part 4

Study the powerful techniques and data structures used in harder problems. This course covers trie, sparse table, segment tree, lazy propagation, tree techniques, binary jumping, divide and conquer, cyclic games, and sqrt methods.

10 modules
22 lessons

Preparation to IOI Part 5

Master advanced ideas for high-level problems. This course includes string algorithms, advanced graph algorithms, deeper dynamic programming techniques, Fenwick tree, meet-in-the-middle, centroid decomposition, virtual trees, parallel binary search, and other advanced topics.

PI7
2 modules
3 lessons

Preparation to IOI Part 7

Preparation to IOI Part 7

© 2026 Electicode. All rights reserved.