Learn to Program!
It’s fun and empowering — find out why every kid should learn to code.
Watch us on YouTube
We’ve created a series of videos based on our beginner Python course. If you can’t take a class in person, it’s the next best thing!
2019 Summer Programs
Why Teach Kids to Code?
What Do We Teach?
Sign Up Now
Find Out More
Bring Coding Classes to Your School
We offer a variety of ways to enhance the technology education at your school while providing a safe, fun environment for learning:
We have coordinated with educators to ensure our subject matter and examples reinforce California Common Core standards appropriate to your child’s grade level. Additionally, we can work with your teachers to customize the classes to support their current lessons and classroom activities.
Our school programs can be hosted on your school’s campus in a dedicated classroom — even if you don’t have a computer lab!
Contact us today to find out more!
Click Here!
Our Mission
«Computer class» can’t be about teaching kids to use today’s software; it must be about teaching kids to make tomorrow’s software. Douglas Rushkoff
Our goal is simply to teach children to code. We believe that a basic understanding of software engineering provides a set of fundamental skills that is vital, both to the child’s future and the future of the global economy. It’s not just about STEM (Science, Technology, Engineering, and Math), but also about liberal arts: being able to think critically about problems is the first step to finding solutions. An early introduction to computer science is an investment in the future.
We also support the use of free and open-source technologies that provide the widest availability and access to all students. The technologies we use:
Python
Raspberry Pi
I think everybody in this country should learn how to program a computer because it teaches you how to think. Steve Jobs
Kids can code: start with python
When my daughter said she wanted to code and create games I got pretty excited. I’ve been coding for a long time and always found the experience challenging, stimulating, frustrating sometimes but always fun! I’ve never coded as a professional so my style is not perfect. I also don’t know the ins and outs of the languages I use. I started on an HP48SX (for the old ones out there) when I was in high school, then went to Pascal, and evolved from there with C, C++, even Lisp and prolog, Ada, and more. I really started having fun when I started with PHP. I’ve been a fan of CodeIgniter to build Web apps, but then I had the need to scrap the web and started Python because of the beautifulsoup library. Parents, I’m telling you.. You’ll hear some really weird product names in coding.
It turned out that Python was not only super simple to learn and use, it was very powerful and could basically do anything. I am now convinced that Python is the best language to start programming. There is a lot of debate right now with Kids trying to learn Javascript or Node, but honestly, I think they are very confusing. If your kids are interested: go with Python.. And start with making them build a game! How fun is that?
For Kids (read this..)
Your creativity is without limits! you play games on your mobile, tablet or on the web, even if your parents don’t want you to! (it’s ok). But really, you like creating and want to know how all this works so you can be the boss, right? Well, this is a good place to start (I hope).
I’ll start with the bad news: you can’t build your dream game right away. It takes time and learning. Learning to code is not very complicated, but the fancy games you play on your phone are not that simple to make and require a lot of different skills. Think about all the things that happen: animations, sounds, graphics, scores, multi-player interactions, and more. The code ties it all together but someone will have thought about those different pieces and someone will have created them. If you played Minecraft, you have seen the character editor where you can edit your little avatar. Someone thought about the tools to edit, the display of the character, someone actually drew every icons you see, the code was created to have it turn around so you can look at all the faces, etc.
The good news: You can do it. The other good news is that most languages have the same principals. For example you have “loops”, which are pieces of code that repeat themselves until something tells it to stop. They loop! like a dog trying to bite its own tail (until it catchs it, then it stops..)
You’ll find ways to check if something is True or not. We call that “if statements”. If you clicked on this button, do this, if you clicked on the other button, do that. This is super common.
The other you’ll find in every languages are “variables”. If you are in 6th grade or above, you likely learned about variable expression, where you have a letter instead of a number in an expression. The letter can take many values. It’s the same in coding: a variable will be able to represent many values. Let’s take an example: The variable “firstname” can be assign my first name “antony” or yours. In Python you’d write this:
then if you want to display the value of this variable you can do this:
That’s pretty cool. And you have already learned how to assign a value to a variable, as well as how to display the value of a variable. Great! You are coding already..
So let’s get going. Here is what you will find in this blog. Our end goal is to create an adventure game. Some kind of role playing, like Dungeon&Dragon, which is an old RPG that has been the basis of many of the games you play today. In fact I will use a D&D (Dungeon&Dragon in short), for the rules, but because it’s code, you can do whatever you like!! We will go in steps, increasing the complexity of the game as we go. At the end of it you will be able to create an entire adventure game and plenty more.
Here are the steps:
Lesson 1– You will look at the basics of how to run a python program. But before you can do that, we will need to set you up.. You need an editor where you write the code, then you’ll need to learn how to execute the code in a Terminal window (you’ll know what that is later). The first program we call “Hello World”. Every language has its “Hello World”. It’s meant to be the smallest piece of code a language has to show “Hello World”. It’s the most basic thing.. It’s going to be a bit tedious, the setup in particular, but once done, it’s done, so hang tight and go through it slowly.
Lesson 2– You will start looking at user interaction with text only. No pretty graphics yet.. Graphics are a whole level of complexity and you need to learn the basics first. You will learn how to display text, ask questions and get responses from the player.
Lesson 3– You will start building the adventure, all in text format. This part is a bit tricky because we will have to talk about how to store the information about the adventure. The text, the monsters, the treasures and rooms.. The code needs to know where to find all of this. You will learn about a ton of code in this one.
Lesson 4 – We will make much more progress on the dungeon. First adding a bit of color to the text to make it easier to read and follow, then we will add more and more rooms and monsters. We will have to adapt our code to actions versus room descriptions.
Lesson 5– You will introduce the battle system. How is the player going to fight those monsters? We will see how you live and die in the game as well as earn Experience Points.
Lesson 6 – Clean-up and adding all special cases – We will have a pause to look at our code, finish the entire dungeon. this includes adding all the special cases, rooms, traps, secret doors, etc.. in the dungeon.
Lesson 7– You will start introducing graphics! Display the dungeon map, maybe pictures of monsters when the player encounters them, and more.
Access Lesson 7 (NOT PUBLISHED YET)
Lesson 8 You will make the player use keyboard or mouse to move around instead of answering questions. That should be fun. We will need to build a real user interface, called UI with buttons and all.
Access Lesson 8 (NOT PUBLISHED YET)
Lesson 9– You will create an experience to build your character. Choose the race (elf, human, orc, dwarf, etc), and it’s characteristics. We will make sure the character you create has an inventory and can be reused in other adventures. Which means we will have to “save” the character you create somewhere. That will be an interesting challenge.
Access Lesson 9 (NOT PUBLISHED YET)
Lesson 10 – You will use your character to go through the dungeon again and you will learn how to create new dungeons and adventures.
Access Lesson 10 (NOT PUBLISHED YET)
From there, you will have a very good base to program about any simple game you want. You won’t be able to do 3D games so much, but that could be the next step. I’m thinking we could build something like Flappy birds next.. faster game. We’ll see.
I will assume you have a Mac for all of this. If you have a PC with Windows, Python works the same way so it should be no problem either. I’m not sure if Python comes out of the box on Windows machines though. Ask for help if it doesn’t, it should be pretty easy to install.
Also I will use Python version 2.7. The latest is version 3, but version 2.7 is still very common out there and installed on every Mac.
So are you ready to start.