3 ms·
I think we need to break all of this down into at least three entirely separate areas: 1) Computer Science, which is, in my opinion, entirely a subset of math
by was_hellbanned 13y ago
I think we need to break all of this down into at least three entirely separate areas:
1) Computer Science, which is, in my opinion, entirely a subset of mathematics, and should be taught as such.
2) Coding, which is the ability to break a problem down and describe it in a series of simple steps.
3) Craft and application, which is everything about how to use tools, best practices for code architecture, and everything else that every new graduate is usually terrible at.
I think we could satisfy most of the world's need for "programmers" by teaching #2 and #3 in a trade school model.
- marcosdumay 13y agoThe problem here appears when you want to teach #1. You shouldn't do it without also teaching #2 and #3 (isn't that obvious enough?), but #3 is often out, and it seems that there are some people trying to not "lose time" with #2 either.
- was_hellbanned 13y agoI would say someone on a full CS-and-engineering track should study #2 (intro), #1 (rigorous CS/math), and finish with #3, since that's where you want to focus on the latest industry standards and trends. This is similar to my own CS university experience, but I'd like to see it broken out into much better defined areas, with different ratios of focus for different career tracks. I also think a full program should take significantly longer than a 4-year degree. Incidentally, I think #1 could easily be taught without #3 at all. I get the impression that there are quite a few academic people who tinker with interesting algorithmic work, in esoteric languages, who couldn't effectively write maintainable code for mass deployment. Not that there's anything wrong with that, it's just a different area of specialization.