3 ms·
University CS programs are kinda shitty for teaching people how to actually write code. It's not really more than that, it's math and theory and proofs instead
by douche 11y ago
University CS programs are kinda shitty for teaching people how to actually write code. It's not really more than that, it's math and theory and proofs instead of that. University faculty, if they ever worked in a professional environment, did it years and years ago before they got tenure.
The worst course I took in my CS department was the algorithms and data structures course. Didn't write a line of code. Wrote a ton of induction proofs. Learned a lot of esoteric algorithms that have very good big O profiles, but suck bogwater because of cache coherency when they are implemented on non-imaginary hardware, or have high constant factors that got hand-waved away. I'd sign up for that course in a hot second, if it covered the same material, but instead of scrawling on a chalkboard, it was structured around writing the same algorithms in C, segfaults and all. I don't think most CS majors could hack that kind of course, however.
- QuercusMax 11y agoI went to Kent State, and Data Structures was all about understanding and implementing trees, lists, and the like, in C or C++. It was super easy since I had already gotten all my segfaults out of my system in high school, but very practical. Algorithms was all about searching, sorting, and heaps, and the main project was implementing several different sort algorithms in C or C++ and comparing their best / worst case performance. Also pretty easy, and very useful. Advanced algorithms sucked balls. 100% theory and proofs, no implementation. Instructor was awful Didn't get anything useful out of it. All the other students were cheating on the homework together, since all the problems were right out of the textbook and somebody had the solutions manual. Still got an A but it was awful and I got nothing useful out of it.
- learc83 11y agoThat's interesting because the worse course I took was software engineering. The techniques I learned there are all out of date or things I could have learned in the first few months on the job. While the techniques I learned in algorithms and data structures (and other theoretical classes like discrete math and automata) are pretty much still state of the art and have proved useful time and again (and I definitely wouldn't have picked most of them up after a few months on the job).
- fsloth 11y agoYes, I agree theory without attending to implications in hardware in the real world is not very practical. I do wonder to what student material you've been exposed to when you claim most CS majors could not attend a basic practical programming course in C.
- douche 11y agoIvy League student material. Oh, how people flailed when they had to wrap their heads around pointers. These were brilliant people, most of them far smarter than I was, but getting into the nitty-gritty details of things seemed to break their brains.
- MisterBastahrd 11y agoThat's what we call "book smarts." People who can regurgitate trivia to show proof of intelligence, but can't actually think their way out of a paper bag.