Educational Research

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.

Current Students

Avatar
Scott Rixner
Professor

My research interests include computer architecture, operating systems, virtualization, and memory systems.

Publications

Understanding program execution is a challenging task for novice programmers. The semantic rules which determine how execution affects …

The software development process often follows a circuitous path, littered with mistakes and backtracks. This is particularly true for …

Testing is an important, time-consuming, and often difficult part of the software development process. It is therefore critical to …

Building high-quality test cases for programming problems is an important part of any well-built Automated Programming Assessment …

In this paper, we detail our efforts at creating and running a controlled study designed to examine how students in a MOOC might be …

We study the problem of automatically evaluating the quality of computer programs produced by students in a very large, online, …

We describe a web-based programming environment designed to support teaching introductory programming for a massive open online class. …

Human/human interaction is a critical component of learning in many domains including introductory computer programming. For on-campus …

We describe a new low-cost robot design that enables large-scale multirobot research, innovative new curriculum, and multi-robotics …