We should teach all our kids to code
31–40 of 81 posts
Re: We should teach all our kids to code
#32Programming just isn't for everyone (and that's OK), but everyone should give it a try to find out.
Re: We should teach all our kids to code
#33I remember when we got our first computer, my dad won't let me play any games for more than a few minutes a day, but I could play the games I wrote myself as much as I wanted. That was a brilliant idea - it gave me the taste of the good games, which was a huge motivation. It did take a while to create an actual playable game (back then we didn't have easy to use graphics libraries like Processing), but then it all be…
This seems like an excellent technique. Although I think it'd be much harder today. In my childhood I'd be easily entertained by a text adventure or a pretty simple sprite based game. Now a days your kid would have to create the next Call of Duty. Perhaps a strategy that would make more sense in today's world is to get them the Valve Hammer Editor (or equivalent SDK) and instead have them make levels for their favori…
Re: We should teach all our kids to code
#34There's a huge and important distinction between “we should try to teach all kids to code” and “all kids should be able to code”, and it tends to get lost in the discussion. Programming just isn't for everyone (and that's OK), but everyone should give it a try to find out.
Teaching programming in schools would probably get the same result was teaching math: courses that normal people promptly forget a year after school. Because, really, how often have you factored a polynomial?
But still, you got a little taste of Math in school. Maybe you liked it, maybe you barely made it through math. Same thing would happen with mandatory programing classes.
Thinking the talent crunch will be solved by teaching CS as part of mandatory education is probably wishful thinking.
Re: We should teach all our kids to code
#35BASIC was interpreted, and not object orientated. You'd have a book, and that book would contain every keyword, with a description of what it did, and some example code.
So you'd buy magazines or a book, you'd type out the programs in those books, you'd debug what you'd typed, you'd modify what you'd done, and then you'd start creating new programs. You'd write a little program, and then realise that you needed to do X; so you'd read the book and find the instruction for X, and you'd grok the example and write it in your program and debug.
Where is that workflow, that learning journey, recreated today? Perhaps with the "learn X the hard way" series?
Also, most people here are either technically brilliant or at least proficient. Now imagine the general population. These are people who just don't know how to plug in a printer. (In the days when computers had parallel ports and serial ports you could not plug the printer into the wrong port. You just had to look at the cable, and look at the computer, and try to mash the connector into all the ports. It would only fit one, and it would only fit one way. Yet I was seen as some kind of genius, by more than one person, because I could plug a printer in.) Or these are people who will not, seemingly cannot, read and act upon a short simple error message.
I love to think that maybe a bit of programming / coding teaching could change that, but I'm not sure it will.
Finally:
> Learning to code is learning to use logic and reason, and express your intent in a consistent, understandable, repeatable way.
Author uses "coding" and "programming" in weird ways. Normally programming is the design process, with pseudo-code and flowcharts and jackson structured programming charts and etc, while coding is just taking that and writing it in some language. Maybe I'm showing my age and the words are now used in a different manner, but it threw me for a while.
Re: We should teach all our kids to code
#36This is an issue I'm very passionate about, and I'm sure many others are too. I'd love to hear other's thoughts on how we educate the next generation and the best way to teach coding in 2012.
Include group work and gentle supervision.
Re: We should teach all our kids to code
#37Earlier quoted context omitted.
This seems like an excellent technique. Although I think it'd be much harder today. In my childhood I'd be easily entertained by a text adventure or a pretty simple sprite based game. Now a days your kid would have to create the next Call of Duty. Perhaps a strategy that would make more sense in today's world is to get them the Valve Hammer Editor (or equivalent SDK) and instead have them make levels for their favori…
Massively popular games like Angry Birds are much simpler than Call of Duty. The basic mechanics of such a game are easier to create with today's hardware and tools than a sprite based game was a long time ago. Sure, you won't be able to get anywhere near the professional game quality, but you can still have a lot of fun. I remember buying a C++ game development book that spent a couple of chapters before getting the…
At a minimum you have to implement smoothly scrolling graphics and quite a lot of physics. Of course there are libraries available which help with these things but then you have a lot of documentation to read (if it even exists).
I believe angry birds cost in the region of $100,000 to develop. Not really a learning exercise for a child.
Re: We should teach all our kids to code
#38The next thing we tried was Kodu from Microsoft (http://research.microsoft.com/en-us/projects/kodu/). He found that enjoyable - very visually appealing and you can get something basic but interesting running quickly. Getting something moderately complex became hard however due to the limited palette of design tools.
The next step was Scratch (http://scratch.mit.edu/) which is a step down in eye candy but a step up in control. You get a lot more flexibility but it is still very approachable. Everything is visual as well, which makes it really easy to see what's happening. Scratch allows variables and lists, control flow structures, etc and thus gets into "real" programming.
However, Scratch has some big limitations, especially around instantiating new 'objects' at runtime. I think the next logical step forward is Stencyl (http://www.stencyl.com) though there's some additional layers of abstraction that are causing a little consternation.
I keep trying to push Python and Java, but for my son at least, not being able to start with something visual is a big drag. Maybe next year.
Re: We should teach all our kids to code
#39I'm not having children, but I have two nephews and a niece, and when they are old enough to read and use a computer without breaking them, I'm giving them each a netbook preinstalled with ubuntu, various programming tools, and some kind of video chat software so that they have access to me to ask questions at any time. I want them all to know this kind of thing, regardless of anything else. Plus it will make me the…