Spring 2025 — now enrolling!
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
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.
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.
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.
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.
2 min read | 191 words |
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.
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.
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)
This quiz quickly checks the reader’s understanding of a concept— typically done at the end of a lesson, and provides immediate feedback.
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
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
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
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
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
Have a question, suggestion, or concern? Please don't hesitate to reach out to us— we would love to hear from you!