News for hackers. Stuff that matters.
Re:A Parable by Dijkstra (1973) by commandlinefan on Monday July 16, 2018 @09:47AM (#17541193)
One thing I noticed even decades ago when I was in school is that the education system - from kindergarten up until grad school - encourages "bare minimum" thinking. The goal is an A - if you happen to learn something en route to getting that A, great, but the goal is an A. Everything about the way things are structured encourages you to find the path of least resistance to that A. Now that I'm (much) older, I'm going back and trying to re-learn the things that I learned just enough to get by when I was in college, I wonder - if the curriculum had been more "rigorous", would I have learned more, or would I have been washed out?
Re:A Parable by Dijkstra (1973) by ben509 on Monday July 16, 2018 @10:12AM (#17541358)
GPA and class rankings do seem to be counterproductive measures if you're trying to get people to challenge themselves. The classes I got the most out of are the ones I got B's and C's in, or even had to redo in one case.

It definitely makes more sense if you look at the idea of the "sheepskin effect" where the degree is not a signifier of material mastered, but a signifier that you are a good worker. In that case, what you learn is generally far less important than whether you work well on a team. And a high GPA means you are orderly, methodical and conscientious.

Re:A Parable by Dijkstra (1973) by dfxm12 on Monday July 16, 2018 @10:07AM (#17541322)
It seems like college taught you "how to learn", which I think is way more important that learning Haskell vs Java, etc., especially in a field as ever changing as Comp Sci.

I don't know how many decades ago you were in school, but imagine all those people who were "rigorous" with learning punch cards in 80s in depth, at the expense of getting a wider education...

Re:A Parable by Dijkstra (1973) by hnal943 on Monday July 16, 2018 @11:25AM (#17542012)
That's pretty reductive. Rigorous learning in the punch card era would have involved a lot of programming on paper, which requires you to understand the program you are writing in a more comprehensive way than does trial and error. There's a discipline to that type of work that lends itself more naturally slowing down and to thinking about architecture.

Also, while software engineering changes frequently, I'm not convinced that computer science is changing rapidly. It's expanding, but it's not as if fundamental computer science concepts are being rendered obsolete.