I have often confessed on here that I have a whole bunch of geeks in my family. When we were presented with the opportunity to spend a chunk of this summer learning more about computer programming, the answer (of course) was an enthusiastic, "Can we??"
So here goes -- my review of TeenCoder C#, a full-year computer programming course for high school students put out by the wonderful folks at Homeschool Programming.
This curriculum includes a student textbook and a DVD for each semester. The first semester, pictured here, is Windows Programming. As you can probably guess, you do have to do this on a PC (but the other high school series, Java Programming, can be done on a Mac!)
Connor has been working at this very independently. I love that part. But that makes writing a review a bit tough. So I had him talk me through a chapter (most chapters are meant to be done over a week, 17 chapters total.)
He chose Chapter 5: Basic Flow Control, as he says this is where it started to actually get into programming instead of learning about history and various introductory concepts.
He started this chapter by reading through the lesson and watching the slide show (the DVD portion) that goes with it. There are four lessons total in this chapter, so he read a lesson/watched the slides daily. He wanted to make sure I knew that the number of lessons does vary though, so in a chapter with five lessons, he'd be doubling up on lessons somewhere in there.
After finishing all the lessons in this chapter, he did the activity. Sometimes the final lesson and the activity are basically combined. In this chapter, the activity is "Jeepers, Beepers." My response was pretty much an, "Okaaaaay... just WHAT is that?"
Connor patiently explained that you are creating a program using FOR loops and WHILE loops. He seemed to understand what that meant. Can't say I totally do, but I'm certain if I sat down and read the chapter myself, I'd get it. The program does a whole lot of beeping ("Hence the name," said my son) and different buttons make it do different types of beeping.
Of course, Connor avoided talking about things like chapter tests <sigh> or anything along those lines, but he is quite excited that he'll be programming a 2-player chess game by the end of this book. And for extra credit (oh, yeah, he's planning that) you can add features like castling, pawn promotion, and checkmate detection.
In the early part of the book, it is taking him maybe a 1/2 hour per day, or maybe 2 hours per chapter, to complete the work. That time does increase as you go, and (he wanted me to be sure to point out) he does have some prior computer programming experience.
We did try using this program once before, only at that point, the DVDs weren't available, and Connor didn't have any real programming experience. He found the materials to be a bit intimidating then. So his recommendation is that if you've done things like KidCoder, you could start in early high school. Otherwise, you might want to start a bit later.
Connor has also looked over the Game Programming books that comprise the second semester of TeenCoder C#. This one has 15 chapters, with the first couple being a bit of review of what was learned in the Windows Programming half.
"And then," he says with a lot of excitement, "it starts getting into all kind of stuff dealing with game elements, and I think this material would apply to other game design situations, not just video games."
I smell a Game Design Merit Badge request coming...
The full year, 1 credit course is available for $155 -- that includes the books and DVDs for both portions of the program. The best part is it is non-consumable, which means that the cost averages out to about $50 per kid if just my big three take it, and only $31 per kid if my little ones can still use it in a few years. Given that they are arguing over who gets to program in Scratch right now, I know they will be interested.
Definitely go read some other Crew reviews, as people reviewed all four of the programs that Homeschool Programming offers. William and Thomas are working on KidCoder Visual Basic (for 6th-8th grades, which my boys were when they began), and when they finish that, all four boys are going to do KidCoder Web Design (for grades 4 to 11 in my house, but officially, they say 4th-12th). Connor is very excited to start TeenCoder Java when he completes the C#. And I love that they'll end up with 3 credits of Computer Programming on his transcript. My geeks need that.
I'm not sure if I really technically need to include this disclaimer, as I received this product as part of my regular job with TOS, and it was not actually in exchange for writing this review. I just love the product, so I chose to.