In office hours, talked to one student who was lost on tail recursion, not getting it. Drilled into an example on godbolt.org and showed how work was getting shifted to before the tail call, and he really got it after 20 minutes, like mind exploding. That kind of thing just shows me that the rest of the students almost certainly are not getting it.

@krismicinski this reminds of a question I've had for some time: here, you show a student (I presume) a low-level representation of the program and walk them through it and it clicks. But decades ago that was simply the norm; as we get further away from hardware (or so it seems to me...) does student intuition about how their programs actually execute on real machines get similarly more abstract?

@cross @krismicinski it is absolutely getting harder every year to get them to understand the lower levels of the software stack. realistically I think we sort of need to get over it, or at least choose very carefully which low-level stuff we need them to know

Follow

@cross @krismicinski @regehr I think there’s something absolutely joyful about platforms that are powerful enough that you can build legit software for them but simple enough that a single human can plausibly understand every aspect of hardware’s operation if they are sufficiently interested.

*looks pointedly at TI-84+*

@elfprince13 @cross @regehr my experience is that modern compilers and tools like godbolt.org really do go very far in terms of helping you see exactly what's going on. Of course, to truly get it you also have to do things like cache profiling and other things that I have never done, but know I would have to do to truly get it.

@krismicinski @cross @regehr getting to read assembly to answer questions about your compiler is nice, but getting to write assembly to answer questions about your ASIC is nicer

Sign in to participate in the conversation
Mastodon

General topic personal server.