3 ms·
> they fail because they can't figure out which functions they need to write to make a ball dance across the screen. It's not like the community agrees on thos
by javajosh 9y ago
> they fail because they can't figure out which functions they need to write to make a ball dance across the screen.
It's not like the community agrees on those functions, either. Problem division methodology varies across paradigms, communities, and individuals.
Teaching CS is hard because you have to pretend, for a while, that there's one way to do it, and get to alternative representations later. Like in dynamics how they always start off teaching the Newtonian formulation, and only add Lagrangian and Hamiltonian later. Related to this is the possibly substantial tooling problem a student can get into left to her own choices: a teacher's other big contribution is synthetically (but usefully) limiting your options.
(Which gives me an idea for a programming environment which only lets you use features you've demonstrated you understand. You demonstrate understanding by writing tests that reach 100% of some characteristic code, as measured by a code-coverage tool...)
- ng12 9y agoI know Racket (the Scheme dialect of HTDP) provides n-number of sub-languages which have various features disabled. If I recall correctly the lowest level has no loops at all, the second only has recursion, etc.