The best language to get kids excited with

Started by
19 comments, last by DrEvil 18 years, 4 months ago
I am a teacher at a small private school, and I'm thinking about teaching a course in computer programming. I would only have 2 months (24 75-minute classes) to do it (!). What kinds of things were helpful to you when you were learning, and what got you excited? I am starting to lean heavily towards using Flash. I taught a computer animation course this semester using flash, with great success. Towards the end one of my students started realizing how much more power she could get from programming rather than relying solely on tweens, etc, and she is gushing with excitement about the fact that she can make stuff happen when she clicks a button. However, I don't know actionscript that well, and I'm hesitant to teach a language that will have them in a rut when they want to learn other models. On the other hand, turnaround time for flash is pretty small and it is easy to make visually impressive programs quickly. We have both flash and visual studio (including VB, C++, and C# .NET) available to us, and of course there are free things like php, python, and java around too. Any thoughts or recommendations?
--Riley
Advertisement
About how much math have they had (the reason I ask is that some programming languages' concepts can be explained fairly easily with mathematical concepts such as sets)?
Ah, excellent question. These kids have not had much math - they'll mostly have taken algebra 1 and geometry.
--Riley
Well, you might want to look at Haskell. It is fairly similar to math in some ways (it's definition of "function" is essentially no different the mathematical definition, for instance).
Delphi (Object Pascal) because the language is simple and clean yet as powerful as C and GUI construction is very simple (drag&drop). Doing a graphical calculator or units converter or something should be entirely possible in one course.
Anything that gives instant results and is easy to understand. So Flash or VB.NET or Python (PyGame) would be excellent choices.
Rob Loach [Website] [Projects] [Contact]
Well, one thing that orignally got me into game programming was these "game makers" the one I used is not around anymore because it is so old. There is this one pretty good one though called Game Maker, it has some programming associated with it, and you can do quite a lot with it, you can even do 3D games.

In fact the winner of the last gamedev contest on this site used game maker for his game, called Ninja Loves Pirate.

Another few simple languages as well would be BASIC, Logo, and Python.

Flash and ActionScript is a nice way to introduce them really though, at least I think so, it not only does programming but also graphics.
- GDKnight
I don't think it's necessary to see instant results by using flash or something else that isn't very useful. If anything gets them interested it will be seeing the potential that powerful programming languages have, if that doesn't get their attention than they probably aren't interested in computer science in general and probably never will be. So I suggest that you start off by giving them some insight into exactly how their favorite games are made.
Someone suggested D as an introductory programming language somewhere else and I just thought it was a great idea. It combines a lot of the good things of C/C++ without a lot of the stupid things. :)
Quote:Original post by RITZ
I don't think it's necessary to see instant results by using flash or something else that isn't very useful. If anything gets them interested it will be seeing the potential that powerful programming languages have, if that doesn't get their attention than they probably aren't interested in computer science in general and probably never will be. So I suggest that you start off by giving them some insight into exactly how their favorite games are made.


Hmm, I disagree with the first part, and agree with the second.

If your goal is to get people interested, then you have to make them get results.
It is just more exciting to see that "Hey, I can make stuff that looks cool and acts like I want it to", than "ooh, look, I've made a program that can add numbers together".

But I think your last comment is a great approach. Show them how their favorite games are made. Not specifically "this is how Half-life 2 implemented its physics engine", or "the console in Quake works like that", or "here's how Rome: Total War manages to show so many units on screen", but help them make small graphical games or other equally satisfying apps.

I think Flash sounds like a decent approach. It allows people to get cool-looking results, while hinting at how much more they can do with a "real" programming language.

Other similarly simplistic languages/tools might be worth looking into as well.

And as GDKnight said, I wouldn't dismiss stuff like Game Maker either. I helped my little brother with it a month or two ago, and I was surprised at how flexible it was, and how much actual programming it allowed.

This topic is closed to new replies.

Advertisement