Across the country, computer science has seen explosive growth in both the number of majors and the number of non-majors taking introductory courses. These numbers continue to increase year over year and there is no sign that this trend will not continue. There are many underlying reasons for this growth and why it is forecast to continue for the foreseeable future.
A wealth of research attests to the value of interactive experiences coupled with feedback; yet, it becomes increasingly difficult for instructors to provide these experiences in classes of hundreds. However, the influx of students also creates new opportunities. More students means more data. This data comes in many forms, but our work focuses on code as data. Specifically, we are working to harnesses data to build and train tools which generate interactive learning experiences.
We have built, and continue to build, a variety of educational tools to augment instruction in introductory computer science courses. Such interactive tools enable students to practice the skills they are learning in the classroom to achieve a deeper understanding of the material much more quickly.