How to design a CS curriculum for middle/high school?
1–10 of 14 posts
Re: How to design a CS curriculum for middle/high school?
#2Re: How to design a CS curriculum for middle/high school?
#3I know programmers in my town who have used that for learners in the same age range you are considering.
My son had a distance learning course (which, alas, seems no longer to be offered) based on the book Approaching Precalculus Mathematics Discretely
http://www.amazon.com/Approaching-Precalculus-Mathematics-Di...
that was a good example of using functional programming (in Logo) to investigate mathematics. The book appears to not be in print anymore, but still available from some booksellers, and is a good glimpse at what some high schoolers can learn if they have enough mathematical background.
The local programmers I know who teach classes for that age group are now mostly doing Python courses, as there seem to be quite a few good introductory texts on Python, or else teaching Ruby.
Re: How to design a CS curriculum for middle/high school?
#4Sadly I don't know about a curriculum, but if you were interested in getting them to learn logic, perhaps you could try using GameSalad (gamesalad.com). It's surprisingly easy to get things up and running for just about anyone, and it's free.
Python would be another great alternative to introducing programming games for kids particularly if you use PyGame. We used Turing in high school, but I think it would be a better service to the kids that they learn a language used in the real world and that has some capabilities. If you can teach Turing to students, you can certainly teach Python.
Re: How to design a CS curriculum for middle/high school?
#5Although, tbh, the code coverage is kinda weak, so I would supplement it with a C or C++ discussion (K&R is tough to understand, but I think for younger kids it's better to start with the fundamentals)
Re: How to design a CS curriculum for middle/high school?
#6I think it's a good idea, and if I ever came into a situation where that would be possible, I'd gladly teach high school CS.
Re: How to design a CS curriculum for middle/high school?
#7Sadly I don't know about a curriculum, but if you were interested in getting them to learn logic, perhaps you could try using GameSalad (gamesalad.com). It's surprisingly easy to get things up and running for just about anyone, and it's free.
I would also highly recommend either Python or Flash. Back in my high school days, the biggest motivation for kids to learn programming was really so that we could design our own games since we had no concept of what the programming industry was all about. Flash was a great tool because it gave us the flexibility to be creative artistically but the power to learn some applications of programming. Learning reasons to…
+1 on this -- my first attempts at programming were with ZZT and it got me hooked.
Re: How to design a CS curriculum for middle/high school?
#8As for actual course material, I'm not quite sure. Python does include a turtle module, and that's pretty classic for teaching programming at least.
Good luck!
Re: How to design a CS curriculum for middle/high school?
#9Re: How to design a CS curriculum for middle/high school?
#10Ruby For Kids is interesting too, but I think it's a little too advanced for an intro course: http://ruby4kids.com
I agree that history is important too. Some of the more applied CS can be interesting (graphics) but I wouldn't delve too deeply into the more difficult stuff (crypto, algorithms) if this is just an introductory course for kids.
Every year, I speak to local middle school kids (7th or 8th grade) at their "career day". They are all totally fascinated with what I do, because kids nowadays (yes I know I sound old) live their whole lives online and surrounded by technology.
The school where I visit is really average, some rich kids some poor kids, all kinds of backgrounds. The format of this career day is that each class period somebody will come and talk to the class that is somewhat related to the subject - so I usually end up speaking to a math or computer class. In a class of 25, there are probably one or two kids who already know some limited programming (or have made a website). Almost everybody that age is online (all Facebook, a handful of Twitter and MySpace) and plays console video games. Probably about half have cell phones.
When they ask me questions, it's usually about how to steal their friends' Facebook passwords, conceal their browsing history, or build their own video game. I do spend some time talking about privacy, reminding them that their behavior online can stay around forever and that they should be careful who they are talking to online.
Good luck with your class, I'm sure it will be a rewarding experience for both you and the kids..