A High School Programming Curriculum For All Students?
jonboydev writes "I know there have been many postings on what kids should begin programming with, but I have a little different perspective: I am a software developer looking to help my brother, who is a high school teacher, develop a programming curriculum. The catch is that it is a class for all students to take, not just those interested in programming, and therefore will focus heavily on teaching problem solving. This class would follow after a class using Lego MindStorms, and we are planning on using Python. I'm sure many of you would agree that everyone can benefit from learning to program and any help would be greatly appreciated!"
Step 1: Decide whether or not you intend to teach computer programming or programming advocacy.
Script hacking and web programming are great fun. They'll tend to draw in folks who have the interest and talent to develop computer software. But they will teach you very little about actual computer science... you'll have the modern equivalent of fogeys who proclaim their programming expertise in Excel and Dbase.
Step 2: If you picked advocacy, you're on the right track with Python and Mindstorms. You'll make it possible for your students to assess whether they have the knack for computer programming in a manner which is highly engaging.
Step 3: If you picked programming, select either pascal or java. They are the best-of-breed languages for illustrating correct functional and object oriented programming technique respectively. They're not particularly flashy and much of the course will involve teaching students what -not- to do, but students who are genuinely interested in computer programming will find that you haven't wasted their time with mere toys.
Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
Am I the only one who finds Python cumbersome? When I program in Python I feel as if the language is trying to stay in my way, it is somehow as if I have to fight against its whims.
I would recommend Starlogo TNG to teach programming. It really helps people visualize the building blocks that constitute a program. And, given its 3D graphical nature, it attracts high school students (who play Halo or Doom after school [yeah, I am antiquated, I was going to say "play a nintendo" but that would be antiquated even for me]).
Ubuntu is an African word meaning 'I can't configure Debian'