  Programming education is becoming important as demands on computer literacy
and coding skills are growing. Despite the increasing popularity of interactive
online learning systems, many programming courses in schools have not changed
their teaching format from the conventional classroom setting. We see two
research opportunities here. Students may have diverse expertise and experience
in programming. Thus, particular content and teaching speed can be disengaging
for experienced students or discouraging for novice learners. In a large
classroom, instructors cannot oversee the learning progress of each student,
and have difficulty matching teaching materials with the comprehension level of
individual students. We present ClassCode, a web-based environment tailored to
programming education in classrooms. Students can take online tutorials
prepared by instructors at their own pace. They can then deepen their
understandings by performing interactive coding exercises interleaved within
tutorials. ClassCode tracks all interactions by each student, and summarizes
them to instructors. This serves as a progress report, facilitating the
instructors to provide additional explanations in-situ or revise course
materials. Our user evaluation through a small lecture and expert review by
instructors and teaching assistants confirm the potential of ClassCode by
uncovering how it could address issues in existing programming courses at
universities.
