Empowering the next generation of coders through a dynamic teaching platform supercharged with code execution.

With weekly classes, asynchronous learning, and coding assignments giving instant feedback, CodeKids Academy is a platform designed for the newest generation of learners.

Python 3.8.10

# return the nth number in the Fibonacci sequence
# assuming first number is 0
def fibonacci(n: int) -> int:
    a, b = 0, 1
    if n == 1:
        return a
    if n == 2:
        return b
    for i in range(2, n):
        a, b = b, a + b 
    return b

num = int(input('Enter a number: '))
print(f'fibonacci({num}) = {fibonacci(num)}')  # edit me!
            Output (try running the code)
        

About

Interactivity.

CodeKids Academy was designed from the ground up with a focus on interactivity, as we believe learning how to code should be done hands-on. Keep scrolling, and discover how we made interactivity the forefront of CodeKids Academy.

Powered by mdsvex and the Unified ecosystem.

Markdown — supercharged.

Each and every one of our lessons is written in Markdown, a lightweight text format widely used in the web. This allows us to convey information elegantly, using bold headings, italicized text, tables, emphasized quotes, and every other feature standard to Markdown (and some more!). However, where CodeKids Academy shines is with its ability to integrate interactive components within our content, such as quizzes, and most importantly, editable code snippets.

Powered by Flask and RestrictedPython.

Code execution — supercharged.

To implement our hands-on approach to coding education, we needed a way to integrate interactive Python code snippets safely. To achieve this, we built a backend that executes code made by our students within a sandboxed environment that still allows many of Python's most powerful features to be used.

Powered by socket.io.

Quizzes — supercharged.

Simply reading lessons isn't enough for concepts to be hardwired into our brains— it takes repetition, and hands-on practice. This is why we have two types of quizzes to check for understanding: traditional, multiple-choice questions; and free-response quizzes where students write a short program and have it pass several test cases.

Welcome!

2 min read | 191 words |

Markdown

This is what a typical lesson looks like, created with the markdown format.

We can convey information through a variety of ways, instead of just boring old plaintext.

info

However, we aren’t just limited to markdown— we’re able to include custom components that allow our students to interact with our content— such as this fancy info container.

Code Execution

Try running (and editing!) the code below.

Python 3.8.10

import math

def area_of_sphere(radius):
    return 4 / 3 * math.pi * radius ** 3

print(area_of_sphere(100))
            Output (try running the code)
        

Quizzes

This quiz quickly checks the reader’s understanding of a concept— typically done at the end of a lesson, and provides immediate feedback.

down arrow

Which of the following functions are used to get user input?

Select one answer

raw_input was renamed to input in Python 3 (the version we are using). get_input and scan are not builtin functions.

Shown below is an example of a free-response quiz— in this scenario, students complete a function, and upon submitting the code, our platform will automatically test the function with hidden test cases to ensure the student answered the problem correctly.

Python 3.8.10

def area_of_square(side_length):
    return side_length ** 2
            Output (try running the code)
        

Here’s another free-response quiz— but this time, our platform will automatically test the program with test values for the input functions used.

Python 3.8.10

length = int(input('Enter rectangle length: '))
width = int(input('Enter rectangle width: '))
print(length * width)
            Output (try running the code)
        

Meet the Tutors

A small yet effective team.

This team of three has a solid foundation in computer science, with experience in several programming languages. Being students ourselves, we have learned various concepts and topics, and have an understanding of the most effective ways to learn new material.

Developer, Curriculum Lead & Founder

Akshay Gajjala

Hey! I'm Akshay, a senior in high school, with a passion for physics, math, and coding. I've been exploring programming for 3 years and love creating projects that make learning accessible. I'm excited to help others discover and grow their programming skills!

Lead Developer, Designer & Founder

Pranav Pakanati

Hi! I'm Pranav, a senior in high school. I've been coding in Python for 6 years, and have experience in several other languages, including Java and TypeScript. I'm so excited to help you guys start your coding adventure!

Developer & Founder

Ram Sarma

Hey! I'm Ram, and I'm a high school senior. I love anything STEM related, whether it be math, chemisty, computer science, or anything else. I've created several computer science apps and projects, and I'm excited to help you start your journey as well!

Contact

Get in touch!

Have a question, suggestion, or concern? Please don't hesitate to reach out to us— we would love to hear from you!

Ready to kickstart your coding journey?

Start now