[KidCoders]

Programming can be challenging, especially when you're just starting to learn. And as an educator, it's often hard to find good resources and curriculum for helping kids starting out on their coding journey. The purpose of this site is to give you, a teacher, mentor, or other educational leader, a resource to help your students learn coding in an engaging, accessible way.


Welcome to Your Coding Journey

The purpose of this site is to provide a structured curriculum for learning Python and general programming concepts. It has been designed in a way that is intended to be both instructional and engaging. Lessons include a mix of watching, reading, and activities to do. It relies heavily on the video course content created by Dr. Charles Severance, Clinical Professor of Information at the University of Michigan. It also utilizes content from two different books, “Coding Projects in Python” and “Coding Games in Python”. The course assumes an environment of Linux and Visual Studio Code, but can be easily re-purposed to work on Windows and Mac as well, with any IDE coding environment (you will likely want to look into using “Anaconda” as Python is not integrated as directly in these environments).


Lessons are broken down into weekly segments, with two lessons per week, each intended to take 45-90 minutes to complete.

Welcome to your coding journey! This first module will give you an introduction to what the Python programming language is, and how to get your computer set up to start coding!

In this module, you will learn about variables (temporary ways of storing information) and conditionals (a way to tell your program to make a decision about something).


Functions are a block of code that runs when it is called. Loops allow you to continue looping through code until a condition is met. In this module, you'll learn more about what they are and how to use them!


Variables are great for storing numbers and values, but what about something longer, like words? As it turns out, strings can be used alongside variables for just such a case! We'll also be learning about making and reading files from a Python application.


Until now, we've used a different variable to store each item or value. But what if you want to store a whole set of values? For this, we need a list (and also its buddy, the dictionary!)


The programs we've made so far have been limited to the command line. With the help of Tkinter, we'll be branching out and making our first graphical application.

In this second module of Tkinter, we'll be building off the lessons learned in our last module and creating two new graphical applications.

In Module 07, we'll be taking a short break from graphical applications to learn about Tuples, an expansion on the lists and dictionaries we already learned about. And then, you'll learn about objects, which are collections of variables and functions!

Getting back to graphical applications, we'll be making a few games using the capable Pygame framework.


In this second module of Pygame, we'll be making two new games about collecting coins and following numbers.


In the third and final module of Pygame, we'll be making two new games with even more complex logic!