1. [March 2018] S18 CMSC 2xx waiting list open!
  2. [March 2018] S18 CMCS 15200 waiting list available
  3. [February 2018] NSF awards Quantum Computing Expeditions to UChicago
  4. [December 2017] CANON Research Lab highlighted in UChicago news
  5. [August 2017] Best Paper Award at ICER 2017
  6. [August 2017] New $2.5M grant from the National Science Foundation: LTEC (Learning Trajectories for Everyday Computing): Developing and researching 3rd, 4th, and 5th grade instructional units for fractions + CT.

... More News ...


I am interested in how students learn computer science concepts, especially at the elementary school level. Below are some of the projects I've worked on. For more information about my research, check out my publications.

active projects

Depict We investigated different aspects of how students learn computing concepts in 4th-6th grade. How they use visual block-based language and development environments to read and create code? What pieces of knowledge do students need to understand concepts in VBBL's, and how do those relate to traditional languages? Our goal is to provide the research basis that will lead to future educational languages, development environments, and curricula.
Phase-Change Memories Phase-change memories bring new trade-offs to computer architecture. We are studying the ways to take advantage of the density of PCM's while reducing the downsides such as latency and lifetime.

artifacts produced

KELP CS In order to study how students learn computing concepts in 4th-6th grade, we created a curriculum called KELP (Kids Enjoying Learning Programming) CS. This contains two modules - one for 4th grade and one for 5th grade - that are each approximately 12 weeks long. Curriculum is housed at
LaPlaya A visual block-based language similar to Scratch, with modifications in the language and development environment to simplify it for a typical 4th grade classroom. Modifications include reducing the math requirements from 6th grade to 3rd grade level, providing per-project tailoring of the elements included in the interface (buttons, blocks, tabs, etc.), and adding a separate "get ready" event to explicitly teach initialization.

older projects

Animal Tlatoque Investigating how to broaden participation in computing through a multi-disciplinary summer camp. Over three summers, ran camp for middle school students that combined meso-american culture, endangered species, art, storytelling, and computer science.