Projects

My research projects are multidisciplinary, with a middle ground emphasis between accessibility, programming languages, software engineering, and computer science education. At a high level, while scholars are often tempted to focus exclusively on writing, I spend a considerable amount of my time thinking about the impact of research. While, no doubt, writing and publishing is of considerable importance, my work is focused on how to cause societal change and I prefer to work on projects that have a chance to make a positive impact on people’s lives in practice. To provide some examples, my core research interests are on two high level topics, gathering evidence about human productivity in programming language design and disabilities work. Let us think about what that might mean here, which will give a sense of why I choose the projects that I do.

For the first, it is crucial to understand that we need more data in the literature on language design. This area impacts billions of dollars and is more poorly studied than many realize. However, we also need to actually build programming languages that conform to the evidence, because we cannot, and should not, assume someone will just “do that for us.” Second, for disabilities, if we want to help our colleagues and students with disabilities, we need to gather as much information as we can to know what their needs are and to publish new information that better informs us. However, the tools available for students with disabilities in computer science are grossly inadequate, with many PreK12 tools not being accessible at all. As such, we need to not just write, but invent new materials, think about adoption, talk to regulatory agencies, pass laws, and just generally consider how to impact the communities we care about. Put simply, in my scholarship I care deeply about research, teaching, service, and impact and balance my activities accordingly.

Active Projects

People programming.

Evidence-Based Programming Language Design

A large portion of my lab time is toward designing programming languages with human factors decisions in mind. This involves several key components: 1) designing experiments where we observe people under different experience levels and contexts using programming languages, 2) designing real products developers can use to invent new technologies, and 3) collaborating with other scholars, and government offices, on what the current evidence in the field suggests. Overall, this project has led my students and I toward investigating evidence gathering across other fields, especially medicine, psychology, and statistics, and applying these techniques to computer science. Because programming languages are used by developers that are paid hundreds of billions of dollars per year, evidence on productivity has a large impact in practice.

Selected Publications:

  1. Timothy Rafalski, P. Merlin Uesbeck, Cristina Panks-Meloney, Patrick Daleiden, William Allee, Amelia Mcnamara, and Andreas Stefik. 2019. A Randomized Controlled Trial on the Wild Wild West of Scientific Computing with Student Learners. In Proceedings of the 2019 ACM Conference on International Computing Education Research (ICER '19). ACM, New York, NY, USA, 239-247.
  2. Uesbeck, M., Stefik A.M. A Randomized Controlled Trial on the Impact of Polyglot Programming in a Database Context. 9th Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU 2018). Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik, Volume 67, 2019.
  3. Andreas Stefik, Stefan Hanenberg, Methodological Irregularities in ProgrammingLanguage Research. IEEE Computer, 2017
Quorum bunny logo. It's cool.

The Quorum Programming Language

Evidence-Based programming is a scholarly project and the Quorum programming language puts it into practice. Quorum is a broad, diverse, language with a large standard library, an active and engaged user base, and is funded largely by the National Science Foundation. Today, there are several pieces of Quorum under active development, including: a 1) new development environment called Quorum Studio that provides new editors for text and gaming, 2) set of new library designs spanning a variety of domains (e.g., astronomy, math, gaming, robotics), 3) active curricular design efforts with partners (e.g., Code.org), and 4) teacher training efforts to help the community use it in the classroom. Quorum is modified over time based on rigorous data collection made possible by my students and many other excellent research labs across scholarship.

This project on evidence-based programming language design has two key products:

  1. The Quorum programming language
  2. The Quorum Studio development environment
The AccessCSForAll Logo, which is just the word.

Engaging Students with Disabilities

One of my passions is for increasing the number of students with disabilities that participate in the field of computer science. Broadly, while students with disabilities make up ballpark 15% of the population, Such student can face severe challenges to entering the field. For example, students learning in high school often use environments with no keyboard support and no screen reader support, which increases the challenges for those with mobility impairments or blindness significantly. We are working to alleviate as many of the challenges as we can in a wide variety of different contexts.

Inactive Projects

A picture of the Kepler string quartet practicing.

Microtonal Music Notation Project

While this project is complete, I have a degree in music and studied under the composer Ben Johnston (1926 - 2019) on a form of music often known as microtonal. This essentially means the use of notes or picthes that are not typically found on a piano and led to a scholarly paper analyzing the math of microtonal music, a long collaboration with the Kepler Quartet, and two musical albums. While we published a paper on the software, which was called Ammmp, it was not intended to be used in production and was not made into a commercial product. This led to two musical albums:

This music project ended in two key products and one related publication:

  1. Ben Johnston: String Quartets Nos. 2, 3, 4 and 9
  2. Ben Johnston: String Quartets Nos. 1, 5, and 10
  3. Andreas Stefik, Melissa Stefik, Mark Curtiss : Ammmp: An Automatic Translation System for Musical Languages. Computer Music Journal, 31(4), 2007.