PROGRAMMING CURRICULUM

Computer Science curriculum

Welcome to a comprehensive learning journey designed for students of all levels, from absolute beginners to those aiming to compete in programming Olympiads.

The Leagues structure

League 5

League 4

Learn the basics of programming, fundamental concepts.

League 3

Enhance your Python skills and tackle more complex projects through engaging and practical problem-solving exercises.

League 2

League 1

Learn advanced algorithms and data structures. Students are prepared to participate in national and international olympiads including IOI.

Topics per module

  1. 01

    Understanding the Scratch interface

  2. 02

    Creating sprites and backdrops

  3. 03

    Using motion and looks blocks

  4. 04

    Working with sound and events

  5. 05

    Creating sequences of actions

  6. 06

    Using loops for repetition

  7. 07

    Implementing conditionals for decision-making

  8. 08

    Handling variables and simple data

  9. 09

    Developing interactive stories and animations

  10. 10

    Basic debugging and troubleshooting

League 5

The beginning is a great place to start. This chapter introduces students to the fundamentals of programming using Scratch, a visual programming language. The interactive and visual nature of Scratch helps learners grasp core programming concepts through engaging projects and games. Developing these skills demands serious practice, that’s why we have over 200 practical problems ready to go.

Topics per module

  1. 01

    Introduction to Python and its Environment

  2. 02

    Python Syntax and Basic Commands

  3. 03

    Data Types and Variables in Python

  4. 04

    Input and Output Operations

  5. 05

    Conditional statements: if, elif, else

  6. 06

    Looping structures: for and while loops

  7. 07

    Simple function definitions

League 4

This chapter bridges the gap between visual programming in Scratch and text-based programming in Python. Students learn Python syntax and basics, comparing it with Scratch to ease the transition. They will replicate simple Scratch projects in Python to solidify their understanding.

Topics per module

  1. 01

    Functions: Definition and Usage

  2. 02

    Working with Lists and Dictionaries

  3. 03

    Basic File I/O Operations

  4. 04

    Introduction to Algorithms and Flowcharts

  5. 05

    Basics of Object-Oriented Programming (OOP)

  6. 06

    Creating and Using Simple Classes

  7. 07

    Developing Intermediate-Level Projects

  8. 08

    Error Handling Basics

League 3

This chapter builds on basic Python knowledge, introducing more programming concepts such as functions, lists, and dictionaries. Students will engage in problem-solving using algorithms and flowcharts, and get a primer on object-oriented programming.

Topics per module

  1. 01

    Advanced Functions and Recursion Basics

  2. 02

    Introduction to Data Structures: Stacks, Queues, and Linked Lists

  3. 03

    More on Object-Oriented Programming: Inheritance and Polymorphism

  4. 04

    Algorithm Basics: Searching and Sorting

  5. 05

    Intro to Dynamic Programming Concepts

  6. 06

    Practice with Simple Competitive Programming Problems

  7. 07

    Developing More Complex Projects and Games

  8. 08

    Regular Coding Practice Sessions and Peer Reviews

League 2

This chapter explores more advanced Python topics in a less challenging manner, focusing on data structures, algorithms, and more complex projects. Students will also get an introduction to competitive programming concepts.

Topics per module

  1. 01

    Introduction to Olympiad Programming

  2. 02

    Transitioning to Competitive Programming Languages (e.g., C++)

  3. 03

    Advanced Algorithms and Data Structures

  4. 04

    Graph Theory and Network Flow

  5. 05

    Advanced Problem-Solving Techniques

  6. 06

    Practice with Real Olympiad Problems

  7. 07

    Time and Space Complexity Optimization

  8. 08

    Strategies for Different Types of Olympiad Challenges

  9. 09

    Mock Competitions and Timed Practices

  10. 10

    Reviewing and Analyzing Top Solutions

League 1

Students in League 1 can count themselves amongst the top 3% of programmers in the world. In this final chapter, students focus on preparing for programming Olympiads and may transition to different programming languages used in competitions. They will practice extensively with Olympiad-style problems and learn strategies for excelling in competitive environments.

Any questions?
We're here to help