by godelski | 2025-09-13 22:49:01+00:00
> that they won't, or can't, design a good user experience for their tools.

This reminds me of old videogames. Many didn't have tutorials. Or rather, they did, but they were the first level. Unlike most modern games many of them would just drop you in and you'd need to figure it out or read the instruction booklet. It definitely helped that there was a common language, that's still mostly used today, but the point was more to let users "discover" the controls themselves. Like here's the start to Wolfenstein 3D[0]. No popup messages, no nothing. A lot of this was done for space savings, but it also forced makers to design in a way that teaches the mechanics and how the world works. You can even see here how the level introduces players to secret rooms. Leading to many players doing the same thing they do in Zelda games, stabbing the walls to see if something is different or pay attention to subtle clues that a secret is here.

It's pretty hard to do this design but I think anyone who's played these games will both admit it is frustrating but rewarding. I think that's true for any learning. The advantage with a videogame is you can provide nearly immediate feedback as well as design feedback delays. I'm highly educated in both math and CS and I think that's actually one of the key differences. When programming there's quick feedback loops. Your program runs or doesn't[1]. Whereas in math you finish a proof and aren't even sure if it is right or not. This does end up teaching different and useful skills, but it sure does create a higher barrier to entry (barrier isn't intelligence, it is persistence).

I think my main concern today (having taught hundreds of college students over the last 5 years) is a lowering in this resilience. I mean I feel it in myself too. We've definitely generated a world where we have quick feedback mechanisms, yet this is impossible to create in more advanced education. It can take weeks, months, or even years to see the real fruits of your labors. I found that in classes where we had autograders or provided students with test cases[2] that often these ended up hurting the students more than helping. They became over-reliant on them, outsourcing their thinking to what we were providing as aids. I watched ChatGPT come out during this time and was not surprised that this only furthered the problem. I was only a grad student, so most classes I did not have good control and sometimes not much of a say, but if I were to do it again I'd try to push the aids out more slowly[3]. The most common problem was that students wrote to the test, not to the requirements. It's actually not a uncommon outside school, and I see a lot of people do quite similar things in industry. Thinking that passing tests is sufficient. But writing to tests will only result in you being as complete as the tests. It's a failed paradigm, you'll never have full coverage.[4]

There's definitely other problems with the education system and I don't want to dismiss them. There's no cureall, but I think this might be something most people might want to think about. Despite saying these words, they are still something I need to reinforce. Good habits are hard to maintain and it is only becoming easier to unknowingly slip into bad ones.

[0] https://www.youtube.com/watch?v=n0esIfiOGFA

[1] Well there's the secret third option which is the most common: it runs, but doesn't run like you think it runs.

[2] We always stated that these were incomplete, that they should write additional ones. There probably wasn't a single office hour I held where I hadn't mentioned that one can never have complete coverage through tests.

[3] I don't know the full answer but here's something I would try. We had autograders and allowed students to submit as many times as they wanted. I'd keep these, but re-implement to have an exponential backoff (until say 2hrs before the assignment was due. I honestly never marked anyone late unless it hadn't been submitted by noon the next day). After a few failed submissions, pass them a subset of test cases. Then repeat. This definitely puts a lot more work on our end as the educator, but it would put students into a position where they need think about the problem first. That's a critical self-learning strategy. The struggle is necessary for success. Too often people just want to jump to the end, assuming a well defined answer already exists. They'll find something that looks appropriate, implement it, and declare success while missing the devil hiding in the details. Too early of feedback only reinforces that strategy.

[4] I'm certain someone will read this believing I am suggesting no tests. I assure you, if this was your interpretation then your interpretation is wrong. Trust me, it is my thoughts I'm trying to convey.