Sprites for Ego Syntonic Learning in Computer Science Education
Mentor: Professor Doug Blank
Student Researcher: Hannah Organick
! For Computer Science education to be successful, it must step away from the
dissociative learning styles that have been used in traditional STEM education and
instead work to make learning extremely personal and relevant to each student.
Seymour Papert accomplished this with his work with the “Turtle” robot by intimately
relating the Turtle’s movements to children’s own sense of physical self while they
programmed it to draw geometric shapes. This process helped students to gain a
deeper understanding of both geometry and programming. However, instead of further
exploring this body syntonic learning style, I am interested in investigating ego syntonic
learning, or, utilizing agents that are “coherent with children’s sense of themselves as
people with intentions, goals, desires, likes, and dislikes.”1 MIT’s Scratch project has
had much success in this by creating agents called “Sprites” which may be manipulated
by the programmer to move, speak, and interact with other Sprites in order to create
digital drawings, animated stories, and video games. Programming with these Sprites
engages the student while teaching them to use logical control structures and the
beginnings of object oriented design.
! This summer I will incorporate Sprites into the Institute for Personal Robots in
Education’s Calico project, a multi-language and multi-context Integrated Development
Environment. I will write a Sprites module in C# which will be available for use in all of
Calico’s first class languages (including Jigsaw, Python, and Scheme). This Sprites
module will give students the ability to create and use their own Sprites, and will be
aimed at three different skill levels. The first level will be the most straightforward and
will contain few, if any, object oriented programming elements. At this level, students
will be able to immediately jump into the process of manipulating pre-made Sprites
without having to use them as one would an object instance. At the second and third
levels, students will be able to use the Sprites according to object oriented program
design and they will be able to manually extend this class to create more complex and
customizable Sprites. In addition, the Sprite module will include data structures for
managing collections of Sprites which may be used from level two onwards.
! I expect that this project will work to satisfy many of the goals of the Calico
project by creating a low floor to introductory programming (the first level of the Sprites
module will allow for students to quickly get started in creating exciting projects), while
keeping the ceiling high, meaning that students will not be constrained by the simpler
introductory framework. Instead, they will be able to utilize the second and third levels
of the Sprites module as they move from a visual programming language like Jigsaw to
Python and Scheme where they will be able to create more advanced projects. Finally,
the Sprites module may be used in a wide variety of contexts in conjunction with any of
the other Calico modules, and this should allow each student to learn Computer
Science within the context that most interests her and to connect with programming on
a more personal level.
1 Papert, Seymour. "Turtle Geometry: A Mathematics Made for Learning." Mindstorms: Children,
Computers, and Powerful Ideas. 2nd ed. New York: Basic, 1993. 63-64. Print