4 ms·
> a belief that memorizing a bunch of that stuff and being an automaton who spits back the correct algorithm name and a pseudocode implementation is all there i
by aggieben 11y ago
> a belief that memorizing a bunch of that stuff and being an automaton who spits back the correct algorithm name and a pseudocode implementation is all there is to programming. Because what companies really want is to hire a Fisher-Price See-‘n-Say toy, right?
I get the overall rant. I understand the frustrations - but this is wrong-headed. If you can't see the value of understanding algorithms - learning both how to write them and how to evaluate them (including proving their correctness), then you've misunderstood computer science education altogether. Nevermind all the rest of CS, which encompasses far more than just "names of algorithms".
- ubernostrum 11y agoIt's more that there's a lot of cargo-culting and "Google did this, so it must be good" flying around, and a lot of really bad CS programs which revolve more around the Feynman-rant memorize-and-regurgitate style than actually understanding performance characteristics. Which in turn produces interview processes that really are of the See-'n-Say variety. Though to be honest, for a lot of what I do my working set in memory (metaphorically) involves very very little algorithms/data-structures stuff and a lot more quirks of libraries/frameworks/protocols stuff. When I need the algorithms and data structures, I pick up the reference I keep on my desk and look up the thing I'm thinking about to double-check that I'm using the right approach.
- aggieben 11y agoFair enough, but then you should explain that what you're against is mindless regurgitation, not good CS education (which again, has algorithms at its core, but goes far beyond that).
- ubernostrum 11y agoI think that what you seem to be treating as "good CS education" is something I'd be more likely to call "good math education, but probably not great training for programming". A big part of the problem is over-generalization. Here's a reddit comment I posted in a similar discussion not too long ago, touching on that: https://www.reddit.com/r/Python/comments/3nfbkr/patreon_is_a_flask_app_and_was_hacked_because/cvobo03 https://www.reddit.com/r/Python/comments/3nfbkr/patreon_is_a... The person I was replying to there had made the mistake of assuming that because in these fields of programming, knowledge of data structures, algorithms and big-O characteristics is one of the most important things for performance, that must be true of all fields. When, in fact, it's not true of all fields, and I provided an example of one where it isn't true and where quizzing someone on their big-O cheat sheet wouldn't actually reveal whether the candidate has the most relevant knowledge for what's going on.