Continuing with sharing simple prompting experiments, a few days ago I built a simple sudoku game. One reason someone might want to create their own version version might be to escape the ads trackers that are embedded in free online games. Another might be to just see what these models are and aren’t capable of. The initial prompt was:
I want to create a standalone webpage where i can play a simple 9 x 9 sudoku puzzle.
Followup prompts were
remove the hint button [Note: I didn’t ask for one. I suspect “hints” are standard in the training data consisting of or similar to sudoku. This is a reminder that LLMs are probabilistic machines. This is also a reminder of the “power of defaults.” Any choices that Claude makes will likely have a significant influence of people – eg likely to keep the hint button – without consideration of alternatives because it’s just easy to keep it there. Ask a thousand students to use Claude to build a sudoku. How many will include a hint button?]
remove this error message which shows up in the console: UDOIT [Note: This was a terrible prompt, and it should have asked for a fix in the code to address the error. Yet, Claude deciphered the meaning and tried to fix it. BUT. UDOIT wasn’t the error message that was showing up. UDOIT was the last piece of text that was in my clipboard. Claude happily followed my instructions, agreed it was an error, removed a function that was possibly throwing that error, and declared success, all while the error remained]
this text appears at the top of the board. remove it: .controls { display: flex; gap: 10px; margin-bottom: 10px; } [Note: This was at the top of the html file, and claude just could not locate it. I eventually had to manually remove it]
When i add a number, I want you to instantly check whether it is accurate or not. If accurate it should immediately turn green. if wrong, it should immediately turn red.
To be sure, while this is a very very simple example of what Andrej Karpathy recently called vibe coding (also see the decent wikipedia entry on the term), it’s not an argument against the need for essential training and skills in coding: understanding errors, timers, sorting, data structures such as arrays, randomization, logic, and loops – all basic elements of this game – are the kinds of foundational building blocks that are helpful in many other contexts. Building a sudoku game just happens to be an example of putting these theoretical concepts in practice. What I find most important about the conversations around AI in education (including vibe coding) is questions around who benefits: Amateurs of experts? For whom is vibe coding most helpful? Who accrues the most benefits? And who might lose out on developing foundational and necessary skills as a result of the advent of these approaches/technologies? These lead to more questions, which intersect with literacies, the labor market, education futures, and the design/adoption of these technologies.

Leave a Reply