3 ms·
it was indexing and mutating arrays / hashmaps that students had trouble with. Certainly a very different programming model than what’s presented in racket, wit
by czhu12 3y ago
it was indexing and mutating arrays / hashmaps that students had trouble with. Certainly a very different programming model than what’s presented in racket, with recursive iterations.
Of course with years of experience it’s easy to interpolate one from the other but these are students who’ve had 4 months of exposure to programming that have to jump from functional languages into operating systems and data structures and algorithms, all of which are taught with imperative languages
- cess11 3y agoI started with BASIC on C64-/VIC-style machines, then went on to dabble in C, C++, Java, Visual Basic, Delphi Pascal, PHP, before I came into contact with CL and Emacs. Recursion-iteration-equivalence was a mindblower for young me, suddenly I realised more ways to use it for problem solving in the algolians than I had seen before. If I had gone the other way around I'm sure I would have saved a lot of time. This is surely a single point of anecdata, but it makes me suspect that it was more about how teaching was done than a 'functional vs. imperative' thing. I also suspect pointers and memory management to have been bigger hurdles than how to format code for iteration, unless the Racket course introduced techniques like quoting.