XModus Learning

Computer Science and Play-Based Learning for Kids

Spring 2021 Programs


Click here for Spring Camp 2021 info >

Spring 2021 After-School Programs (April 12 - June 4, 2021)


(click for details) Monday Tuesday Wednesday Thursday Friday


3:30 PM
4:30 PM


Minecraft Adventures

Ages 8+
 
Python Game Programming World of Py

Ages 9+

Media Computing with Python

Ages 11 - 14

Minecraft Adventures

Ages 8+


4:30 PM
5:30 PM


Minecraft Adventures

Ages 8+
 
Python Game Design & Programming Battleship

Ages 11 - 14

Mobile App Development with Thunkable

Ages 11 - 14

Python Game Programming World of Py

Ages 9+


 


Spring Camp 2021

Join me during Spring Break 2021 (March 15 - 26) for two weeks of Python game programming and Minecraft Adventure building. Each week we will build a different game in Python during the morning and then in the afternoon we will work in teams to build and play Minecraft Adventures.

Week 1 - March 15 - 19

Python Game: Alien Tower Defence - 10:00 AM - 12:00 PM (noon)
This is my version of Plants vs. Zombies

Minecraft Adventure building - 1:00 PM - 3:00 PM
Work in teams to design, build, and play a Minecraft Adventure

Week 2 - March 22 - 26

Python Game: Space Invaders - 10:00 AM - 12:00 PM (noon)
This is my version of the classic Space Invaders arcade game.

Minecraft Adventure building - 1:00 PM - 3:00 PM
Work in teams to design, build, and play a new Minecraft Adventure

Ages 8+/9+

Computer Requirements:

Register Now >

Python FAQ:

What is the minimum age for Python?

  • Age: 9+

What if my child is younger than 9 for Python?
Sign them up next year. I am always willing to consider students on a case-by-case basis but don't want students to have a poor first experience simply because of their age. I have settled on 9-years old as my starting age for the program because of the typing and problem-solving required.

Can they program these Python games on their iPad?
No. Students require the PyCharm programming editor which is only available for Windows, Mac, or Linux computers.

Minecraft FAQ:

What is the minimum age for Minecraft?

  • Age: 8+

What if my child is younger than 8?
Sign them up next year. I am always willing to consider students on a case-by-case basis but don't want students to have a poor first experience simply because of their age. I have settled on 8-years old as my starting age for the program because of the complexities of the adventures and my experience working with students as young as 5. This is not just kids freely building a house on their own, this is kids working in teams to design and build puzzles and that involves cooperation, communication. and teamwork.

Can they play Minecraft on their iPad?
No. Students require the Desktop Edition (Java Edition) of Minecraft on a Windows, Mac, or Linux computer.



 


Minecraft Adventures

Using the popular Minecraft video game kids work together in teams to solve puzzles and complete adventures with their teammates. Each class presents the kids with a different problem such as: math and economics in Farm Craft, team-based puzzles during the hunt for the Golden Pyramid and rescuing the missing scientists during the Island Rescue. Kids are challenged each class to interact with each other and encouraged to be creative, ask questions and help each other through the tasks. This is not kids sitting alone playing Minecraft, these are custom crafted adventures where kids work together to explore new ideas, make new friends, and solve problems.

Ages 8+

Computer Requirements:

Register Now >

Minecraft FAQ:

What are the age groups for Minecraft?

  • Ages 8+ - for students 8+

What if my kid is younger than 8?
Sign them up next year. I am always willing to consider students on a case-by-case basis but don't want students to have a poor first experience simply because of their age. I have settled on 8-years old as my starting age for the program because of the complexities of the adventures and my experience working with students as young as 5. This is not kids freely building a house, this is kids working in teams to solve puzzles and that involves communication and teamwork.

Can they play this on their iPad?
No. Students require the Desktop Edition (Java Edition) of Minecraft on a Windows or Mac computer.



 

Python Game Programming (World of Py)

Come learn how to program using Python. Follow an instructor as they lead you step-by-step through each new concept and then put your new skills to the test by completing a programming challenge using your new skills. Once you've mastered the new concepts go crazy and modify and extend your code both in class and at home.

In this class we will be building a game called, "World of Py", a 2D tile-based platformer. World of Py has been described by students as a mix between Minecraft (although in 2D), Terraria, and Mario Maker. For returning students, we will continue where you left off but instead of the 'books' (ask your kids), I will be making a series of videos that you can follow during the class. As always the goal is to build a game with the support of a teacher.

Ages 9+

Computer Requirements:

Register Now >

Python Programming FAQ:

My kid has taken this before, which class do I choose?
Returning students can sign up for any class. This term I will be introducing video versions of the book chapters that the kids have used before. This will allow the students to move at their own pace but have me in the 'room' to get help from. I've also been working with students using the Zoom breakout rooms so they can pair up with a partner within the class but still have me available for questions.

What if my kid is younger than 9?
Sign them up next year. I am always willing to consider students on a case-by-case basis but don't want students to have a poor first experience simply because of their age. I have settled on 9-years old as my starting age for the program because of the typing and reading required.

Can they make their own graphics and sounds?
Yes. The game is completely customizable including the tiles, the players, the background, and the sounds. Because of the transition online students will be building their games on their computers and so they are welcome (and encouraged) to make it their own. That said, I encourage them to work on their code during the class and their graphics and sounds when their code is done. This allows them to continue to progress while still making the game their own.

Can they do this on their iPad?
No. Unfortunately, the tools we use are only available on Windows and Mac computers.



 

Python Game Design & Programming (Battleship)

In this course, we will design and build the classic board game Battleship in Python. We will focus on how to build the game from concept to individual steps and then work to implement them using Python code. This course will focus on breaking the problem down into smaller steps that we can solve to achieve the bigger task of a complete game. Classes will cover the necessary Python code for each step, but students will be encouraged and supported to create their own version of each step with assistance from the instructor and their classmates based on provided partially complete examples and sample code.

Students are expected to have done some programming in the past, including block-based (e.g., Scratch, Thunkable), or a text-based language (e.g., Python, JavaScript), but all code and concepts necessary for the course will be covered in class.

Ages 11 - 14

Computer Requirements:

Register Now >

Python Game Design & Programming FAQ:

My kid has not taken Python classes with you before, can they take this class?
It depends. If you kid is interesting in programming and has already taken a programming course before using either a text-based language like Python or JavaScript or block-based like Scratch, then they are welcome to try this course as a step towards creating their own programs. This class is for students who want to move beyond just following example code and who want to try and build their own games or programs.

What if my kid is younger than 11?
I am always willing to consider students on a case-by-case basis but I don't want students to have a poor experience simply because of their age. I have settled on 11-years old as my starting age for the program because of the typing and reading required. One exception is students who have taken my Python classes before and completed all or most of the World of Py course.

What if my kid is older than 14?
I'm comfortable having older students in the class. I set the age 14 so students are aware of the age of the other students in the class.

Can they do this on their iPad?
No. Unfortunately, the tools we use are only available on Windows, Mac, and Linux computers.



 

Media Computing with Python

In this course, we will learn the bits and bytes of digital images and sounds and then take them apart and modify them using Python. After completing this course students will know how to use Python to manipulate images and sound. Classes will cover the necessary Python code for each step, but students will be encourages and supported to find their own solutions to each challenge. Students are not expected to have any previous Python experience, but those with previous experience will be encouraged to explore the problems more deeply.

This course is based on a program first offered at Georgia Tech in 2004. That course was created for students who were not in computer science but who were required to take a computer programming class. That school found that students who were interested in programming but who didn't have any previous background were not always interested in just learning programming for its own sake so they created a 'media computing' course to appeal to non-computer science students. I have taken the basic concept of manipulating media (images and sounds) and modified it to be age-appropriate for middle-school and older students.

Ages 11 - 14

Computer Requirements:

Register Now >

Media Computing with Python FAQ:

My kid has not taken Python classes with you before, can they take this class?
Yes, this course is an introduction to Python programming with a focus on manipulating images and sounds using Python. This course will introduce the necessary Python concepts (variables, conditionals, loops, and functions) each week, as necessary. We will then apply each concept with hands-on manipulations.

What if my kid is younger than 11?
I am always willing to consider students on a case-by-case basis but I don't want students to have a poor experience simply because of their age. I have settled on 11-years old as my starting age for the program because of the typing and reading required. One exception is students who have taken my Python classes before and completed all or most of the World of Py course.

What if my kid is older than 14?
I'm comfortable having older students in the class. I set the age 14 so students are aware of the age of the other students in the class.

Can they do this on their iPad?
No. Unfortunately, the tools we use are only available on Windows, Mac, and Linux computers.



 

Secret Ciphers (ECS)

As part of our in-class Elementary Computer Science courses, Hacking Secret Ciphers introduces students to the problem of sending a secure (secret) message and then challenges them to write a computer program to encrypt and decrypt these messages. Students start by learning to conduct the process by hand, then proceed to using mathematics and then learn the process to convert their manual steps into a computer program using Python. By the end of the week they will have a fully functional Python program that is capable of encrypting and decrypting secret messages. Once they have their own programs they will be challenged to try and crack a series of secret messages by using and modifying their existing program. We wrap up the class with a discussion of alternative algorithms to try and follow-on tasks they can do if they wish to continue learning computer science and programming.

Ages 9+

During the course students will learn how to:

  • Learn a substitution cipher and use a cipher wheel.
  • Use modular-arithmetic in place of a cipher wheel.
  • Convert their steps into a computer program using Python.
  • Test and debug their Python program.
  • Brute-force crack their ciphers using Python.

Computer Requirements:

Register Now >



 

Signals & Codes (ECS)

Signals & Codes introduces students to the technologies that underpin the Internet by taking them back in time to the 1830s and presenting them with the challenge of transmitting messages over telegraph lines. Students start by manually encoding and transmitting messages to each other and then proceed to using mathematics and probability theory to craft shorter and faster messages. Led by the instructor students will write computer programs using the Python programming language capable of creating, sending and decoding messages.

Ages 9+

During the course students will learn about:

  • Information Theory
  • Binary Code
  • Morse Code
  • Hamming Codes
  • Frequency Analysis

Computer Requirements:

Register Now >



 

Mobile App Development with Thunkable

In this class we will learn how to create a mobile app using Thunkable, a block-based programming environment Thunkable that runs on iOS and Android devices (as well as on the web). The class will cover creating a common 'cooking' app that will present a list of recipes and then the step-by-step instructions for creating the meal. Students can then use this example app to create their own app and get help during the class for their own project.The goal is for students to learn how to develop their own app by the end of the course.

Students who have a special interest in a topic, be it a science-fair project, hobby, or sport, can use this app and class as an opportunity to educate others about their topic by creating their own interest-focused version of the app.

Ages 11 - 14

Computer Requirements:

  • Windows, Mac, or Linux computer
  • Web Browser
  • Mobile Device (phone or table) (optional and only for testing)
  • Google or Thunkable account
  • Zoom

Register Now >

Mobile App Development with Thunkable FAQ:

Is this the same as Scratch?
It's similar, but not the same. Although Thunkable and Scratch are both block-based programming environments Scratch is focused on sprites and a stage whereas Thunkable is focused on building more general apps for mobile devices. For students who have experience with Scratch, the blocks will be similar, but not the same.

Is this the same as your SFU CoLab program or Technovation Girls Thunkable classes?
Similar in format, but it's all new material. This will be similar to my previous Thunkable programs run for the SFU CoLab program (Fall 2020) and the Technovation Girls program (January/February 2020 & 2021). If you participated in those classes, this will follow the same approach of introducing Thunkable by building a common app. However, we will be building an app focused on teaching the user about our topic of interest.

What if my kid is younger than 11?
I am always willing to consider students on a case-by-case basis but don't want students to have a poor first experience simply because of their age. I have settled on 11-years old as my starting age for the program because I want students to collaborate with each other in class and come with their own idea and topic to work on.

What if my kid is older than 14?
I'm comfortable having older students in the class. I set the age 14 so students are aware of the age of the other students in the class.

Will they make their own graphics and sounds?
Yes. Although the focus will be on the core mechanics of the app itself, students will be encouraged to create or find their own graphics and sounds for their app. The class is designed to be completely customizable by the students, including the graphics and sounds.

Can they do this on their iPad/tablet?
Yes, however note that I will be teaching using a Windows (or Mac) computer and we will be importing graphics from their computer (that I will supply).



 

Thunkable

Thunkable is a web-based block programming environment for building mobile apps for iOS and Android devices. I have used Thunkable with adults and kids to build apps and games and this term we will focus on building a mobile game.

Ages 9+

Computer Requirements:

  • Windows, Mac, or Linux computer
  • Web Browser
  • Mobile Device (phone or table) (optional and only for testing)
  • Google or Thunkable account
  • Zoom

Register Now >


Thunkable FAQ:

Is this the same as Scratch?
It's similar, but not the same. Although Thunkable and Scratch are both block-based programming environments Scratch is focused on sprites and a stage whereas Thunkable is focused on building more general apps for mobile devices. For students who have experience with Scratch, the blocks will be similar, but not the same.

Is this the same as the SFU CoLab program?
No. This will be similar to the SFU CoLab program that I taught in Fall 2020 but will be a different game. So, if you were part of the group who took the SFU class with me, this will be a new and different game.

What if my kid is younger than 9?
Sign them up next year. I am always willing to consider students on a case-by-case basis but don't want students to have a poor first experience simply because of their age. I have settled on 9-years old as my starting age for the program because of the typing and reading required.

Can they make their own graphics and sounds?
Yes. The game is completely customizable including the graphics and sounds. Because of the transition online students will be building their games on their computers and so they are welcome (and encouraged) to make it their own. That said, I encourage them to work on their code during the class and their graphics and sounds when their code is done. This allows them to continue to progress while still making the game their own.

Can they do this on their iPad/tablet?
Yes, however note that I will be teaching using a Windows (or Mac) computer and we will be importing graphics from their computer (that I will supply).

What is the difference between Thunkable 3:30 and Thunkable 4:30?
They are the same class, just one will be taught at 3:30 and one at 4:30.