I fear - as far as I can tell - that most undergraduate degrees in computer science these days are basically Java vocational training. I've heard complaints from even mighty Stanford University with its illustrious faculty that basically the undergraduate computer science program is little more than Java certification.
When you learn through coding, [you're] coding to learn. You're learning it in a meaningful context, and that's the best way of learning things.
Computer programming has been traditionally seen as something that is beyond most people - it's only for a special group with technical expertise and experience. We have developed 'Scratch' as a new type of programming language, which is much more accessible.
My duty as a teacher is to train, educate future programmers.
The most disastrous thing that you can ever learn is your first programming language.
I'm reminded of the day my daughter came in, looked over my shoulder at some Perl 4 code, and said, 'What is that, swearing?
My father taught me Basic and rudimentary C, I learned everything else on my own, including studying computational complexity on my own. That's more a function of my age than anything else though - back when I was in school there were hardly any programming classes.
The best book on programming for the layman is 'Alice in Wonderland'; but that's because it's the best book on anything for the layman.
We already have a professor who's using an online social network of MIT alums to help educate students in programming. Just imagine expanding that in Facebook-fashion to tens or hundreds of millions of people around the world.
My being a teacher had a decisive influence on making language and systems as simple as possible so that in my teaching, I could concentrate on the essential issues of programming rather than on details of language and notation.
My first introduction to computers and computer programming came during my freshman year of college. I majored in electrical engineering with a minor in computer science, so I learned during my required courses at Vanderbilt University.
It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.
Programming is usually taught by examples.
I didn't do programming language stuff in college at all.
Our society expects that everyone should learn to write, even though very few become professional writers. Similarly, I think that everyone should learn how to program, even though very few will become professional programmers.
The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense.
Experience shows that the success of a programming course critically depends on the choice of these examples.
It is a shame that homebrew development can't be officially sanctioned and supported, because it would be a wonderful platform for a modern generation of programmers to be able to get a real feel for low level design work, to be contrasted with the high level web and application work that so many entry level people start with.
Clearly, programming courses should teach methods of design and construction, and the selected examples should be such that a gradual development can be nicely demonstrated.
I think it is inevitable that people program poorly. Training will not substantially help matters. We have to learn to live with it.
I think of the company advertising "Thought Processors" or the college pretending that learning BASIC suffices or at least helps, whereas the teaching of BASIC should be rated as a criminal offence: it mutilates the mind beyond recovery.
The situation is so much better for programmers today - a cheap used PC, a linux CD, and an internet account, and you have all the tools necessary to work your way to any level of programming skill you want to shoot for.