What should we teach new software developers? Why?(delivery.acm.org)
delivery.acm.org
What should we teach new software developers? Why?
http://delivery.acm.org/10.1145/1630000/1629192/p40-stroustrup.html?key1=1629192&key2=1190626821&coll=portal&dl=ACM&CFID=104402275&CFTOKEN=58956171
1 comments
That's funny, I went to college just for the paperwork. I watched them teach the absolute fundamentals of programming but not how to -think-. The people that graduated with me couldn't come up with new ideas if their life depended on it. One guy even dropped out when he wasn't able to write a simple poll application.
On the other hand, I taught myself and I -can-. In fact, most of time I -was-. Turns out some of the ideas were really good and I'm just starting to see other people use them, and others weren't so good and I ended up scrapping them.
As far as syntax errors go, all programmers make them sometimes. Mistakes or typos, it doesn't really matter. A decent IDE will catch most of them, and proper unit testing will catch the rest.
On the other hand, I taught myself and I -can-. In fact, most of time I -was-. Turns out some of the ideas were really good and I'm just starting to see other people use them, and others weren't so good and I ended up scrapping them.
As far as syntax errors go, all programmers make them sometimes. Mistakes or typos, it doesn't really matter. A decent IDE will catch most of them, and proper unit testing will catch the rest.
On the other hand, I taught myself and I -can-.
I suspect you have this reversed: you can, so you teach yourself. In my experience this is true of most competent people. At best, high-level schooling can be a guide, and an excellent teacher can save us some time gaining insight. But by-and-large it's up to us to learn.
I suspect you have this reversed: you can, so you teach yourself. In my experience this is true of most competent people. At best, high-level schooling can be a guide, and an excellent teacher can save us some time gaining insight. But by-and-large it's up to us to learn.
I feel that it's this basic understanding of 'quantitative and algorithmic thinking' that schooling instills in you that will allow you to think of new concepts instead of dwelling in the old.
However, I can't deny that there are times where my professors' downright frustrate me with their lack of simple programming skills, such as small syntactical things that anyone who actually programs would know like second nature. I guess it is true that I'm going to school to learn advanced concepts and not syntax, but that doesn't mean it doesn't make me doubt my schooling just a touch.