The most heated articles these few days amongst programmers is probably the article "Where Are the Software Engineers of Tomorrow?" from CrossTalk. The authors of the article complains on today’s Computer Science Education, claims that it can’t train real programmer with Java as the first language, ignorance on Formal Methods and the Math. requirements are shrinking.
I couldn’t agree more on the article (except the point on Formal Methods, which I’m on doubt weather is it the "basic knowledge" which every programmers should acquire and use daily or is it a very specific / professional area?), as I see similar situation in my study — For most of the fellow students I met, Programming equals to — try to find a tool from library which more or less fit the needs. Programming is not about logic, calculation, and architect any more, it is like Monkey jumping around, try to get the right tools out of the box, to cut the banana.
The article also mentioned that "Real Programmer can program in any language". That’s true, With proper training in C, C++ and Lisp (or Ada as the author suggests), they should be able to program in many different languages without any difficulties….
But I will argue, a good CS education, should also include proper training a Software Engineering. Programming is in team now, and to work in a team, students should have basic understanding of different programming methodology, and should be experienced in building a software architecture — Programming is not only a science and art, it is about engineering — Reusable pattern, Methodology are as important as NP completeness….
I like the analogy — When movies student are filming all the time in their study, dancing students are dancing all the time… why not CS students programming all the time?….







0 responses so far ↓
There are no comments yet...Kick things off by filling out the form below.
Leave a Comment