4 ms·
Teaching intro programming courses with "parse a CSV file" or "implement a text based calculator" is outdated. Modern students have grown up with smart phones a
by gcommer 12y ago
Teaching intro programming courses with "parse a CSV file" or "implement a text based calculator" is outdated. Modern students have grown up with smart phones and are used to being able to click around and have the computer react graphically. Students learning with C or Python have a large chasm of GUI libraries they have to cross before they can make anything like the UIs they are used to seeing. Being able to make shapes move around from day 1 in a JavaScript course seems like a much more compelling experience to me.
- Animats 12y agoThat's exactly it. There's an argument for teaching programming from the top down, starting by modifying GUI programs, rather than from the bottom up, at the bit level. See: http://radar.oreilly.com/2014/03/a-concrete-approach-to-learning-how-to-program-for-beginners.html http://radar.oreilly.com/2014/03/a-concrete-approach-to-lear... Javascript now has all the major language features Python does. It's not quite as ugly as it used to be. There's strict mode, which disables some of the worst legacy crap. You can use Javascript on servers, desktop clients, and phone clients. Try doing that with Python. Compilers for Javascript generate amazingly fast code today. Javascript has a tradition of bad, obfuscated code with no comments, but that's not the fault of the language. (I used Python for years, and prefer it to Javascript. But Python remains limited. Just distributing a Python program is a pain. Yes, there are several systems for making an installable executable from a Python program. They sort of work. It's not considered a standard operation.)
- Demiurge 12y agoLooks like there is some sort of school of thought that differentiates 'programming' from Computer Science. This seems wrong, because you're not teaching 'how' you're teaching 'what'. The time students spend learning how to write HTML what CSV is, isn't spent on what bool, operators, statements, blocks, procedures are. They're learning 'Web Programming', which won't help them nearly as much when they have to do anything else.