Blog

From time to time, I share posts on programming, statistics, or social science research if I think they might be helpful to others.


The Socratic Tutor: an AI tutor that asks instead of answers

A VS Code chat extension that gives students hints, not answers. It fetches the reference solution from a private instructor repo, hides it from the student, and constrains the model to ask diagnostic questions and escalate hints across turns rather than reproducing the solution.

The AI Will See You Now (For Grading)

Grading student work is hard, and grading the reasoning behind it is even harder. A correct answer rarely shows real understanding, while written explanations are slow to review at scale. I’ve been exploring whether a short, structured conversation with an LLM — asking students to explain their reasoning — can complement submitted work and provide instructors with a useful second signal. This tutorial walks through a prototype open-source app that lets students upload work, chat briefly with an AI, and generate advisory per-dimension grades for instructors to review and override.

How to animate a scatterplot with R Shiny and highcharts

This post shows how to create an animated scatterplot in R Shiny using the highcharter package. It walks through building an interactive visualization where data points smoothly transition over time, demonstrating how to combine Shiny’s reactivity with Highcharts’ animation capabilities. The tutorial covers data preparation, chart configuration, and techniques for creating engaging, dynamic visualizations in R.