Computer programming is one of those things that I sometimes worry that my kids miss out on by being homeschooled. Part of me (the classical homeschooler and Luddite) says, "Bah! Computer programming! Who needs it?" Well, in today's world, everyone does. Thus, when a company like Homeschool Programming comes along and provides this service to my kids (and other people's kids, of course!), I am grateful.
Therese has had a little programming experience, and she really enjoyed it, so I was quite happy to be able to review KidCoder Visual Basic Series for the past couple of months. As the name implies, this course teaches kids in 6th-8th grade programming in Visual Basic.
The course is actually divided up over two semesters. Our review concentrated on the first semester, Windows Programming, which teaches students how to write "graphical Windows programs using the Visual Basic programming language." There are 14 lessons in the student text covering the following topics:
- Introduction to Computers
- Get Your Feet Wet - Learning About Visual Basic
- Exploring Visual Basic Programs
- Data Types and Variables
- Basic Flow Control
- Getting User Input
- Working with Numbers
- Working with Strings
- Using the Debugger
- Loops in Programs
- Arrays and Structures
- Distributing Your Programs
- Putting it All Together
Therese (12) and KidCoder
From there, the real fun starts. Therese started building her first project. In fact, Lesson Three began with her modifying the project she created in Lesson Two.
While nothing Therese has done in the first six lessons of Homeschool Programming has been particularly difficult, I am deliberately only having her do one lesson per week. She could do more, but I want her to take it slowly so that she has time to marinate in what she learns each week. Because she completes the lesson in a couple of hours, she ends up spending the rest of the week practicing what she has learned (usually starting the project over and seeing what she can do from memory). Here, she has taken my laptop to dance and is working on KidCoder between classes. I walked around behind her to make sure that she actually was working on school, and sure enough - she was!
Therese has enjoyed this course enough that I know that when she finishes Windows Programming, she will be anxious to move on to Game Programming, for which Windows Programming is a necessary prerequisite. This second semester course is set up very much the same as the first, with the course material containing 14 lessons and the text containing the same great graphics and step-by-step instructions. The lessons cover the following material:
- Game design concepts
- Drawing shapes on the screen
- Responding to keyboard clicks and mouse movements
- Displaying and animating images
- Object positions, 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
The programming is, as to be expected, more in-depth, but I am confident that by the end of her present course, Therese will be able to handle it, and that she will relish the challenge. I know that as I read through the text, I couldn't wait for her to learn about these things because I knew that they would satisfy my own curiosity about how a lot of computer-y things work! I guess the real test of a good program is whether you can teach it to someone else...she's been doing a great job with Windows Programming so far, so I expect nothing less from Game Programming!