Also curious more generally if there are any educa...
# thinking-together
w
Also curious more generally if there are any education-focused people here? Feels like the zeitgeist is around tool-building (languages, IDEs, etc.), but less so on how to teach people the tools.
👋 1
i
I work for an education company, but focused on industrial machinery, not technology. Industrial workers tend not to have a high degree of computer literacy, so we've all spent a lot of time thinking and experimenting with ways to help them go from hate computers to simulation master, and that thinking extends to my FoC efforts. This is, in fact, a big reason I'm so fond of visual programming — taking programming off the character grid, adding animation and spatial relationships and things coming in and out of view. These things allow for tutorialization and self-explanation in really rich ways. I love the hackable tutorials in HyperCard and Max/MSP / Pure Data — it's so fun to be able to pull up a reference, and that reference includes a live-running example, and you can hack on that example. With the right framing device, you can make a lot of things self-discoverable that historically required external instruction.
❤️ 4
It feels very strange when using a text-based programming tool and suddenly a video pops up in the middle of your code to help explain how some function works. Far less strange in a visual language, especially if you give the video and the language / tool a unifying aesthetic. Also, borrow the hard-learned lessons from video games about how to make software explain itself.
👍 3
This is also why I'm often critical of overindulgence in type theory. Types don't do much to make it easier to teach people how to program. They help with other things, like avoiding failure modes or improving mental modeling, but there are many ways to achieve those ends. I've found that the focus on learnability is a powerful guiding force when it comes to selecting FoC ideas to pursue.
👍 5
w
Related: my wife does 3D stuff (modeling, animation, texturing, etc.) and I’m always struck by how much she uses YouTube. There’s this massive community of video tutorials showing how to make this effect, or solve this bug, so on. I can’t think of a single time I have ever watched a YouTube video to overcome a programming problem, and I’m not 100% sure why?
🤔 5
But anyways, I appreciate the perspective. I’ve always thought that better general-purpose program visualizations could go a long way towards improving the learnability of programming, e.g. Python Tutor (http://pythontutor.com/)
👍 1
y
Yes! I think any serious effort to create a qualitatively better programming experience than what we have now needs to take learnability seriously. And to make learnable programming I suspect you have to create a curriculum(in a broad sense) alongside it.
w
@Will modeling involves a bit of a performance in a way that text editing does not, not so much. Whereas a solution to a programming "how do you" is a code snippet that does the thing, the solution to a modeling "how do you" usually involves a lot of clicking around. (One of my interests is in bridging these two interaction modalities by the way.)