Skip to content

CoderDojo Twin Cities Coding groups

This guide describes all the coding groups at the CoderDojoTC. You can use this list to:

  1. Understand what groups are best for beginning coders.
  2. Understand what topics each coding clubs cover.
  3. See age groups and experience levels that are most suited to each coding group.
  4. If the mentoring materials are available using our online-virtual Zoom based mentoring.


Recommended for Ages: 7-14
Virtual Mentoring: Yes
Just getting started with coding? This is the first coding group we want you to consider. If is ideal if you don't yet have strong keyboarding skills or are using an iPad to learn coding. For example can you use the copy/cut and paste functions without using the mouse? Scratch is a popular block programming language supported by MIT. Students can build small programs just by placing blocks on the screen. You can learn more about scratch by visiting the CoderDojo and MIT Scratch sites listed below:


Recommended for Ages: 10-18
Virtual Mentoring: Yes
If your student has strong keyboarding skills and has mastered the copy/cut and paste functions then we strongly recommend you start with Python. Python has been the most popular introductory programming language since 2014 because it is has a clean syntax and there are many tools especially designed for beginners. Our starting curriculum is based on the popular Trinket system used by many on-line coding clubs. Trinket is fully web-based and does not require any software to be installed. We also have many advanced Python labs and a gentle pathway to data literacy using Jupyter Notebooks.

We have three different levels of Python programming:

  • Introduction to Python covers how to use variables, loops, conditionals, functions, function parameters, lists, random numbers and recursion. We use fun Turtle Graphics drawing in our classes to learn these concepts. All these lessons can be done with just a web browser.
  • Intermediate Python covers data types, data structures, variable scope, functions, function parameters, maps, files, modules, debugging, sorting, search and regular expressions.
  • Advanced Python topics include objects, methods, data analysis, data quality, Jupyter notebooks, Python statistics libraries, data frames, plotting and chart and graphs, machine learning, TensorFlow, PyTorch and using GPUs to train your models. Advanced Python mentoring frequently involves student driven projects and students usually create their own local programing environments on their local desktops.

We have also created a new Journey Map for our most popular course, Introduction to Python.

Web and User Experience

Recommended for Ages: 10-18
Virtual Mentoring: Yes
Creating web pages is a fun way to learn how to build great user experiences. We have extensive materials and lesson plans for learning HTML, CSS, JavaScript and web drawing with SVG. We use a variety of web-based tools to learn how to program with HTML, CSS, JavaScript and SVG.


Recommended for Ages: 10-18
Virtual Mentoring: Yes
Thunkable is a new web-based block programming tool that allows students to build both iPhone and Android applications.

MBot Robots

Recommended for Ages: 10-14
Virtual Mentoring: Only If Students Have Their Own MBot
MBots are low-cost ($60) robots that can be programmed using Scratch block programming. In order to use this material students should have the MBots in their homes.


Recommended for Ages: 10-18
Virtual Mentoring: Yes
Want to control things in the real world like lights and sensor with computer programming? In this group, you’ll go step-by-step, connecting lights, sensors, motors and displays using an Arduino. No prior programming experience is needed!

We are excited to announce that despite COVID-19 and our migration to on-line only Zoom based classes, we are still able to teach Arduino classes! We are doing this by using on-line Arduino simulators with TinkerCad Circuits that only require a web browser. No local Arduino hardware is required! This means that students can learn how to write code with Arduino without hardware and then when they are ready purchase their own hardware and move their code from the virtual world to real physical hardware.

Arduino Resources for CoderDojo Mentors and Students

Arduino LED Costumes

Recommended for Ages: 10-18
Virtual Mentoring: Yes
LED Strip labs GitHub Pages yet to be moved to mkdocs. Moving Rainbow
Ages: 12-18

Arduino Robots

Recommended for Ages: 10-18
Arduino Robot Content yet to be moved: Arduino Robots Site Ages: 12-18

Linux/UNIX and Pi

Recommended for Ages: 13-18


We have not moved our Raspberry Pi programming on-line yet. If you have ideas on how to do this, please let Dan McCreary know.

Students that want to do work with the Raspberry Pi often need to understand basic UNIX commands and basic UNIX shell programming. We are working on putting these materials on line.
Ages: 12-18

Unity Game Engine


Our Unity Game Engine courses have not been moved online. They require extensive desktop setup and many of our students don't have high-end system that are required to run Unity. We hope to resume Unity when we return to our physical classrooms.

Unity Game Engine Enjoy making games and sophisticated graphics with professional level software. Best for ages 10+ or experienced younger coders.
Ages: 12-18

AI Racing League

Recommended for Ages: 14-18


Our AI Racing League courses have not been moved online. We know of other DonkeyCar clubs that are now doing "virtual races" but we don't have the experienced volunteers to migrate our content.

Learn the principals of machine learning and Artificial Intelligence by training a small car to drive around a track by itself. This popular project is build around the DonkeyCar system and our volunteers are working hard to make the cars easier for everyone to learn. Some experience with Python and UNIX is very helpful. We are also looking for mentors to help us migrate the existing Markdown content to use the mkdocs standards.



Due to reliability problems with our on-line Java VM engines we are not teaching Java in our Zoom-based classes at this time. Mentors and students are welcome to use the material we have created with the understanding that students will need to load Java development tools on their local desktops. If you have suggestions on how to teach Java without local installation of software please let us know.

Java - Java is suggested after students have mastered Python concepts. Getting started with Java is a bit more challenging since even small programs require more code and a deeper understanding of complex programming concepts. We are still working on finding instructors and materials for Java. Stand by for more.
Ages: 14-18

App Inventor


We are migrating our mobile application development to Thunkable. The primary reason for this is that Thunkable works on both iPhone and Android and our younger students like the block-programming capability offered by Thunkable. Our virtual training also allows us to not have to install local applications on the students local system.

The App Inventor content will not be maintained in the future.

App Inventor Learn how to build your own mobile apps (Android only) with AppInventor, a powerful, visual programming tool from MIT.
Technovation Coding Lab 1: Choose your App Builder
Technovation Coding Lab 2: Algorithms and Pseudocode
Technovation Coding Lab 3: Event Handlers
Technovation Coding Lab 4: Data and Functions
Technovation Coding Lab 5: Variables
Technovation Coding Lab 6: Lists
Technovation Coding Lab 7: If/Else Conditional Statements
Technovation Coding Lab 8: If / Else / Else If Conditionals
Technovation Coding Lab 9: Advanced Logic and Conditionals
Technovation Coding Lab 10: Loops
Technovation Coding Lab 11: Using Sensors and Components in App Inventor and Thunkable
Technovation Coding Lab 12: Storing Data Locally
Technovation Coding Lab 13: Storing Data in the Cloud and APIs
Technovation Coding Lab 14: Debugging Tips in App Inventor and Thunkable
Technovation Coding Lab 15: Flowcharts
Technovation Coding Lab 14: Debugging Tips in App Inventor and Thunkable
Ages: 12-18