Do your kids want to create programs and “speak” computer? Homeschool Programming has a range of courses to fit your needs…and none of them require YOU to be a techno-geek!
I recently had the opportunity to review the TeenCoder C# Series, a year-long course that will teach your child basic Windows Programming and Game Programming using the C# environment.
This course is recommended for grades 9 and up.
We received the C# Year Pack ($155), which includes:
- Semester 1: Windows Programming
- Semester 2: Game Programming
- Videos for both semesters on a CD-rom
Each of these components is also available for individual purchase. Check the Homeschool Programming website other purchasing options.
System requirements: Windows XP, Vista, or 7. TeenCoder C# requires installing the free Microsoft Visual Studio 2010 Express programming environment. Please check the website for more details and exact system specs.
Homeschool Programming’s courses can be purchased from the website as physical books with the student activities, tests, and solutions on a CD-rom. Videos come on a DVD you play in your computer. For the purposes of this review, I received the course in digital (pdf) format and physical DVDs.
About TeenCoder C#
This program is billed as an independent course for high schoolers that could also be used by highly motivated middle schoolers. It is not required that your student have previous experience in programming, but having a general familiarity with navigating Windows (saving files, running programs, etc.) is necessary.
There are 2 halves of the course, each intended to take about a semester to complete (Windows Programming is a prerequisite for Game Programming):
- Chapters 1-16, each chapter can be completed in a week and contains
- 3-5 lessons
- a review
- a culminating activity (creating a program)
- Topics form the foundation for working in the C# programming environment and include
- C# syntax
- working with variables
- working with strings
- math functions
- user input
- object-oriented programming
- and more
- Chapter 17 is the Final Project (creating a Chess game)
- Chapters 1-14, each chapter can be completed in a week and contains
- 3-5 lessons
- a review
- a culminating activity (creating a program)
- Topics are specific to game programming for Windows using the XNA Framework (which makes it possible to create games for the XBox 360 also), and include
- game design
- working with images
- game menus
- artificial intelligence
- game physics
- and more
- Chapter 15 is the Final Project (a racing game)
Students are encouraged to use the culminating activities as a “jumping off” point to insert their own creative ideas and run with what they have learned.
Tests, activities, and solutions are included as pdfs on CD-rom, as well as “solutions” for the programs you child will be creating---you’ll be able to see what the code is supposed to look like and compare it to your child’s program to see what went wrong (solutions also contain explanations of the code in green):
The videos are not a standalone---they do not contain all the information in the course or the instructions for the activities, but do cover the main concepts. They are flash-based and play from your browser window when you pop the disk into your computer.
The format is similar to a webinar, and highly effective at showing things step-by-step (I definitely recommend these for kids who need to “see” to understand). Here’s a screenshot from Chapter 6, Lesson 2:
You can view a demo video and sample instructional video of TeenCoder C# here.
What did we think of TeenCoder C#?
I am using this program with my 13-year-old, a rising 8th grader. We chose this level because the he does have some experience in programming, he’s highly motivated (he’s a bit of a geek, actually) and the KidCoder Series seemed like it might not go in-depth enough. Since he’s not yet in high school, I didn’t mind if he moved at a slower pace.
Getting things set up was a bit of a struggle, but I blame that mostly on the way we received the product. It’s cumbersome to switch between the “text” (which we have as a pdf on our computer), the “activities” (which had to be “installed” on our computer, along with the tests, solutions, etc.), and the videos. My son needed help, for instance, even finding the exe file he needed to run to install the student activities---if he had been installing from a cd-rom as the average customer probably will be, this wouldn’t have been an issue.
This is one case where I would prefer a physical product over a digital one. I’m planning to print the texts and all the pdfs and either put them into a binder or bind them---dealing with it all on a computer screen is just a headache.
The text is well illustrated---with the addition of the optional videos, it’s a winning combination for visual kids.
My son has finished through Chapter 6, and the culminating activity for that chapter is an interactive story telling program. Each of the activities has had plenty of room for creativity and as they become more complicated, I expect that the opportunities for self expression will increase.
While TeenCoder is designed to be used independently by the student, I’ve found that my particular kid can’t do it independently.
At first it seemed like things were going swimmingly, but then he would get stuck and I realized that in spite of completing the previous activities correctly, there is something “way back when” he didn’t really get.
That was something I couldn’t know, because I wasn’t sitting and learning right beside him. I missed the confusion. And when I realized there was confusion, I didn’t know how to help! My last programming experience was in the 80s…C# was all new to me. I could pick out any logical problems in his loops, but I didn’t know the syntax.
I can see now how a child could go through a whole course in school with a passing grade and yet not really understand the material. It’s so easy to hand something to your child (checking in on him and grading his work, of course) and lose track of how he’s really doing with it. There’s just no way to get inside his brain!
Learning alongside him works much better in our situation---I can pick up on his confusion and when I understand the materials myself, I can better guide him.
I don’t think this is a problem with TeenCoder C# program, but more an issue of knowing your student and what kind of support he needs. My son simply needs more handholding (and he is still a young lad).
Overall I like the course, and we plan to continue with it (can’t wait to get into the game programming half---I’ve been peeking ahead!).
The only thing I think could be improved would be more frequent activities.
The course is set up so that there’s a good bit of reading (3-5 lessons,plus review) before you really apply new learning (the activity or actual programming). We’ve found from experience (and I think research bears this out, too) that practicing new material immediately and incrementally is a valuable way to reinforce that learning and cement it in the long term memory.
My son often has to do things himself to fully understand how everything fits together. In addition to the culminating activity for each chapter, I would love to see a smaller activity for each lesson---kids can better own learning by having more practice.
The final project for each semester is divided up into parts (the final racing game from Game Programming is covered in 6 lessons with 6 corresponding activities)---this is a great way to make a larger project manageable.
Overall, I’m impressed with the thoroughness of the material in the TeenCoder C# Series.
Please visit the Schoolhouse Review Crew blog for reviews of other courses from Homeschool Programming, including:
KidCoder Visual Basic Series for grades 6-8 (Windows)
TeenCoder Java Series for grades 9 and up (Windows or Mac)
KidCoder Web Series for grades 4 and up (Windows or Mac)