+ Edsger Wybe Dijkstra's + "On the cruelty of really teaching computing science" + perfectly sums up my gripes with how Computer Science is taught at a + university level (at my school, at least). +
++ Succinctly put, my time learning computer science at my unnamed + college exemplified nearly everything he (and I) believe a CS + curriculum should not do: +
+-
+
- + Ignore the existential questions about computer programs (what are + they? why do they exist? can they want? what should they be used + for?) + +
- + Ignore the notion of program behavior, i.e. provability (this is + set aside as an advanced core class, counterintuitively reserved + for a third or fourth year). + +
- + Excessively simplify and frame new technologies with analogy, + effectively instilling maladaptive thinking patterns that fail to + extend to more novel problems + +
- + Give up on doing the inverse of the above because it is too hard + for young students. + +
+ Walking out of my third year, I left with the sad realization that I + got by the majority of my classes by only understanding things as + they pertained to assignments and exams. + And by "got by", I mean straight A's. +
++ I always knew something was wrong with how my school taught computer + science (despite it being the biggest major as of 2025). As of late, + though, I realized the gargantuan amount of damage it caused to my + reasoning abilities. Damage that I have to reverse by, essentially, + doing everything all over again. +
++ My + competitive programming journey + epitomizes this point: to this day I struggle with reasoning, + argumentation, and understanding program behavior. I know how a + segment tree works but can't formalize the constraints of a problem. + I can do dynamic programming on trees but I can barely manipulate + and work with primitive mathematical concepts such as the \(gcd\) + function. I cannot think of a more useless skillset. +
++ Nearly all of this is my fault. However, + it should not be possible for this to happen in a computer + science curriculum. In other words, Djikstra is right. +
+