Homeschool Programming offers computer programming courses for middle school and high school students. Their middle school classes are called "KidCoder" and the high school ones are "TeenCoder". Under the KidCoder heading, there are 2 choices for year-long classes, although you can purchase them one semester at a time. Those choices are Visual Basic, with the first semester being Windows Programming, and the second semester being Game Programming , or Web Design, with the first semester being Basic, and the second semester being Advanced. TeenCoder works the same way, and offers C# Windows and Game Programming or a Java Series with Java Programming and Android Programming. Although my eldest is a teen, because he doesn't work independently at grade level, we chose KidCoder Visual Basic to review.
Homeschool Programming was VERY generous, and gave us both semesters of the course, although we only obviously had time to get into the first semester- Windows Programming. Here's the list of what they learn in Windows Programming:
Topics Covered in this Course
- Introduction to computer hardware, software and programming history
- Using the Microsoft Visual Basic 2010 Express development environment
- Managing numeric and text data
- Making decisions about program flow
- Obtaining and validating user input
- Working with numbers and math operations
- Working with strings (text)
- Learning how to debug (find errors in) your code
- Learning how to write loops to execute sections of code many times
- Working with arrays (sets of data)
- Publishing your programs to other computers
- Putting it all together – write a simple graphical game!
Topics Covered in This Course:
- Game design concepts
- Drawing shapes on the screen
- Responding to keyboard clicks and mouse movements
- Displaying and animating images
- Object position, movement and acceleration
- Collision detection
- Playing music and creating sound effects
- Artificial "game" intelligence
- Saving and loading games
- Game physics
- Printing screens to the printer
Not your average middle school class, for sure!
Usually, I'm a "pros" and "cons" sort of gal, but I'm just going to share our honest experiences this time...
Being that all things involving technology generally break when I walk in the room, and given that my husband works with computers and programming on a daily basis, I left him "in charge" of getting this all set up and running, and I had hoped I even left in charge of doing this with my son.
Not so much. He had problems from the get-go. KidCoder downloaded and installed fine, but the free version of Visual Basic did NOT. Words like "stupid" and "stupid" and did I mention "stupid" got used a LOT. I guess the problem is that our computer first of all kept timing out when my son was trying to download it, and we have really, really high speed internet. So then Daddy took over, and tried and encountered the heart of the problem- Microsoft's website just didn't want him to download the version of Visual Basic that KidCoder uses (it's not the most recent version). It wasn't playing nicely with the Vista operating system on our computer and problems abounded. Homeschool Programming offers great tech support from what I've heard from other reviewers, but I figured I didn't need that if I had my husband...although for our marriage's sake, maybe I should have just done it the way everyone else who is not married to a computer guy does and just cried "uncle". For the record, my husband finally downloaded VB to another computer, put it on a thumb drive, and installed it that way. Problem solved. Or so I thought.
During the day, my son worked through lesson one, which was about the history of computers and programming languages, and that had HIM sharing a) his father's opinion of this class and b) his father's opinion of ME for getting them into this mess. I did NOT get it- everyone else's reviews were so great! Then when my husband got home, they sat down together to try the first bit of "programming". That again had my husband cursing (in a very Christian sort of way) me, Homeschool Programming, and anyone or anything else that dared to enter the room they were in. He thought it was "stupid" that the text was a download, because you can't read the textbook on the computer screen for instructions and then work in VB following the instructions via the same monitor- at least not easily. See, that's a common issue with review items. Vendors try to save money by giving us downloaded products instead of the typical, tangible books that they sell. It saves them money in product cost and shipping, and I understand that. But it means we aren't really reviewing the product as "Joe Schmoe homeschooler" would receive it. If you bought this, you would get a physical textbook. I got downloadable files that would be costly to print because the book for each semester is 100's of pages long. So I solved that problem by sending the textbook to my Kindle, and viola! instant textbook. Crisis averted. Males in the household made happier. Real learning could commence. Oh, and I took over the role of "parent in charge of child learning how to program". From then on, it's been smooth sailing.
As soon as my son got past all the history stuff (boring) and on to the actual use of Visual Basic, his entire outlook on the class changed. Now, he LOVES it. VB is cool, with its combination of drag and drop interface and real coding. Instantly, as soon as my son realized all the variables that he could easily change, he begged to just play with it, and spent a whole evening tweaking one of the early assignments- changing color and font and background color and anything else that could be changed. Now, he's excited to learn more, especially knowing that next semester he gets to begin programming GAMES. I was finally seeing what everyone else was raving about-it just took us a while to get there! In addition to the text book, there are optional DVD lessons for each chapter. They aren't meant to be used in place of reading the book- just to explain things in advance of them reading, or perhaps clarify things after they have read. They are great, but we haven't used them much. My son who is using this can NOT have unrestricted internet access, and for us as reviewers, the videos are hosted online instead of them sending each of us the physical DVD.
. That means for him to watch the videos, I literally have to sit there with him to be sure he doesn't "wander" off to some other internet site. So mostly he just reads the text and does the VB work. But I do think the videos are a wonderful tool and very helpful for a more visual learner (like myself).
The bottom line: Each KidCoder class is $70 a semester OR $85 with the optional videos. TeenCoder classes are $75 a semester or $90 with the videos. You save money by buying both semesters together- it's $120/$145 for the KidCoder classes or $130/$155 for the TeenCoder. Given that these skills can benefit your child hugely in our technology rich world, the potential return on this investment makes this classes a "must have" in my book for anyone who wants to pursue programming or web design. The fact that my teen who won't willingly do ANY work for me will willingly do this speaks volumes. I'd definitely recommend Homeschool Programming.
You can purchase Homeschool Programming classes via their website. There, you can also view samples for the text and videos for each class. And they have a TON of reviews you can check out. Or you can like them on Facebook. Or read their Tweets on Twitter. To read what other members of Mosaic Reviews thought, check out the Mosaic Reviews blog.