Reactive Programming for Kids

John Peterson, Western State Colorado University

Computing is fundamentally intertwined with the use of language: how do we express ourselves through programs? Nowhere is this problem more important or less understood than in education - what languages are appropriate for middle school students? High school students? What domain should these languages be associated with?

This talk will address the issue of language and K-12 education. We will survey curriculum and languages currently used in this context and present experiences from the Western State Colorado University computer camp. This camp is a week long experience for middle school students in which we use game engine programming to explore a wide variety of topics in computer science, math, physics, and design. The goal or our camp is to use computing as a means to explore a wide range of STEM subject material in a creative way.

We have built a software environment based on Python, the Panda3D game engine, and reactive programming to enable our campers to create 3-D scenes and small games that illustrate fundamental ideas in computing, math, and physics. This language is based on Functional Reactive Programming (FRP), a framework for integrating time flow into a conventional programming language. I will discuss the semantics of our reactive system, demonstrate our software, show examples of student work from our camp, and address some of the high level issues associated with educational computing.

This talk is accessible to anyone interested in computing, math, or K12 education.

Speaker Biography

John Peterson is a professor at Western State Colorado University in Gunnison, Colorado where he comprises half of the Computer Science department there. He received his PhD from the University of Utah on 1984 and later worked at Yale with Paul Hudak on the Haskell language and Functional Reactive Programming. He is currently on sabbatical from Western and is hanging out with Scott Smith this semester.