When I asked my husband if he wanted to run a homeschool astronomy class, he was happy to oblige. As the lead up to the class progressed he was obviously working hard on putting together presentations and enjoying the process. During the run of the class it was clear that my husband enjoyed interacting with the kids and teaching them. At one point we were discussing how well the class was going and if he wanted to offer it again. During that discussion, he said that he enjoyed the astronomy but that he would love to offer a programming course.
My husband got his bachelors of science degrees in physics and math, but got his masters in computer science. While astronomy is a fun hobby of his, he discovered his true love at work. As is common for anyone who graduates with a technical degree, it opens many more doors than just related to one's degree field. Once hired, the company put him on an assignment that involved computer programming. He decided that he enjoyed the challenge of mastering problems, determining or developing an appropriate algorithm and design, and then programming a solution that could save the company time and money while increasing quality.
He has never been tempted to work for a software company however. Many software companies have such large programs that no one person can do everything. They have the idea guys who determine the specifications, the design guys who determine what modules will be made and how they interact, the programmers who code for their given little piece, and the testers that develop tests. At his current company he has the ability to do the entire project from start to finish, including figuring out what math is most appropriate and the user interface.
Since starting astronomy, he's toyed with a programming class idea. One issue that came up was the qualifications required for the course. The class would be more interactive than the astronomy course, and more intense in its math and with homework. He did not want to start a class with some of the lackadaisical attitudes we've seen in the astronomy class.
Now that he's met so many kids through the astronomy class, he has been so impressed by a few of the kids that he was looking forward to seeing how they would do in a more intense class. After talking it over with the parents, he prepared to run a programming course. The course uses a kid-targeted programming language that is compilable and uses structures very similar to real code. It is more realistic and more powerful than any of the language-based, interpreted options that were also available. He is also looking forward to teaching the kids about software architecture and modeling--something he hasn't ever seen offered for kids. He is excited to present a course that could help the kids fall in love with an activity they could turn into a rewarding career.
Since the course is being held at home with kids that my daughter has met during astronomy, my husband decided to include our oldest daughter in the class. My husband wasn't sure how well she might do or if Hanover would be ready for that level of course. The course includes four kids. Two who are 12 years-old, one that is around 14 (I'm not sure--could be 12-14), and then Hanover, who is 10. He wasn't sure whether to include our own daughter because of the age difference. More importantly, she is not only years away from algebra, her math curriculum is well behind the others.
We had to have the standard talk about how she has to be on extra good behavior. Why? Not just because it's a class, but specifically because she's the daughter of the instructor. Anything she does the other kids will think is OK.