HackerPapers

arXiv:2401.01257cs.PL

Profiling Programming Language Learning

Will Crichton, Shriram Krishnamurthi

Abstract

This paper documents a year-long experiment to "profile" the process of learning a programming language: gathering data to understand what makes a language hard to learn, and using that data to improve the learning process. We added interactive quizzes to The Rust Programming Language, the official textbook for learning Rust. Over 13 months, 62,526 readers answered questions 1,140,202 times. First, we analyze the trajectories of readers. We find that many readers drop-out of the book early when faced with difficult language concepts like Rust's ownership types. Second, we use classical test theory and item response theory to analyze the characteristics of quiz questions. We find that better questions are more conceptual in nature, such as asking why a program does not compile vs. whether a program compiles. Third, we performed 12 interventions into the book to help readers with difficult questions. We find that on average, interventions improved quiz scores on the targeted questions by +20%. Fourth, we show that our technique can likely generalize to languages with smaller user bases by simulating our statistical inferences on small N. These results demonstrate that quizzes are a simple and useful technique for understanding language learning at all scales.

arXiv comments
To appear at OOPSLA'24
Journal reference
DOI
Subjects
cs.PLProgramming Languages

On Hacker News

Linked by 2 identifiable commenters in 2 comments across 2 threads, from Jan 2024 to Jan 2024. Found in 3 HN submissions from Jan 2024 to Aug 2024. Open submission discussions.

Comments linking this paper, per year.

Discussed in comments2 threads

  1. Portable EPUBs 1 comment
    • I mean it. Both books are free, and PLAI has an interactive tutorial on the language used in the book called SMoL [1] done by one of Shriram's students. The tutorial is not a passive one by any means; it forces you to think and highlights pitfalls students often fall into when…

      zvmazView on HNParent context

    • I use multiple spaced repetition apps per day just for fun because I like doing flashcards as a hobby. I have tried this out, its good, but still not as good as the newest version of Supermemo. You can tell if you put the same or similar material into two or more apps. FSRS is…

      flashcardistView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.