Snowb^rd: A Programming Language for Teaching

In 1982, Holt and Cordy created Turing, a programming language for teaching at the University of Toronto. It followed best software design practices and had a huge impact on the quality of learning.

At STaBL Foundation, we believe it is time to design a new programming language for teaching—Snowb^rd(TM)—to bring the leading edge of programming language and software design to children in primary school who know Scratch and are ready to move on to a text-based language—and support primary teachers by eliminating the dreaded “syntax error.” Snowb^rd will leverage the math children already know or can easily learn to understand the structure of programs. Every child learns set theory, and Snowb^rd will be the first language designed to leverage this knowledge by using a categorization of data called subtyping. Every child recognizes the idea of a directed graph (also called a network) as embodied in the “hidden map of an adventure game.” Snowb^rd will be the first language to use a type of directed graph to specify interactive behaviour—not as a form of documentation—but as an alternative, editable, and automatically synchronized view of (part of) the text program. And most importantly, every child needs to learn variables and functions to succeed in high school algebra, which is the bottleneck to all STEM careers and education pathways. Snowb^rd will be a functional language, which means that variables and functions behave the same way as they do in algebra, continuing the approach used to build up our Algebraic Thinking curriculum.

This Mitacs project will support prototypes for key features of Snowb^rd. Professors at McMaster University (Wolfram Kahl) and the University of Toronto (Anya Tafliovich and Edward Lee) will bring their teaching and programming-language theory knowledge, such as type systems, bidirectional type inference, and the Zipper data structure.

Faculty Supervisor:

Wolfram Kahl;Anya Tafliovich;Edward Lee

Student:

Partner:

Fondation STaBL Foundation

Discipline:

Computer science

Sector:

Education

University:

McMaster University

Program:

Business Strategy Internship

Current openings

Find the perfect opportunity to put your academic skills and knowledge into practice!

Find Projects