Homeschool Posts

Get the Year to Sparkle Planner!

Saturday, April 6, 2013

Computer Science for kids, a review

I admit it!  We’re all a little geeky around here.  We love all things computer.  So my oldest son, David, was literally jumping up and down when we got the opportunity to review Computer Science for KidsBeginning Microsoft Small Basic.

Beginning Microsoft Small Basic (BSB) is a 11-week tutorial designed to teach kids (and adults) ages 10 and up the basics of computer programming using Microsoft’s Small Basic Environment.

We received the e-book version as a download. 

Retail: $59.95, on SALE for $34.95

Sale good through July 4, 2013

This product is also available as a paperback book with accompanying e-book download, which retails for $59.95 and ships free in the US (see website for shipping charges international orders). 

This is a secular program, but Computer Science for Kids also has a Christian version called Computer Bible Games For Microsoft Small Basic (you can read reviews of this product on the Schoolhouse Review Crew blog).

What Does BSB include?

The tutorial  is divided into 11 “classes” (or lessons) covering such topics as:

  • the history of Small Basic
  • Small Basic basics
  • creating your first program
  • program design
  • debugging
  • loops and subroutines
  • graphics
  • and more

For a complete list, including subtopics, please see the table of contents here.

The e-book is delivered as a zip folder containing all 11 classes as separate full-color pdfs and Word docs.  Each file is about 20-30+ pages (the course overall is over 500 pages).

The publisher states that each class is intended to take about a week to complete with 3-6 hours of effort.  We found that the first 3-4 took much less time than that, but as the complexity of the teaching increases, the time required also increases.

To use BSB, you will need to download Microsoft’s free Small Basic software.  Instructions for doing that and where to find it are integrated into the tutorial.

How we are using BSB

My son, David, who just celebrated his 13th birthday during the review period, is using Beginning Microsoft Small Basic completely  independently.

I chose to print the classes one at a time and pop them into a binder (my son prefers to have a paper copy to refer to).  Due to the bulk of pages, I printed them using my black and white laser printer for minimal cost, but, as my son points out later in this review, the black and white does make it a little harder to read the lines of code.

bsb code screenshot

As you can see, the actual document itself is quite colorful!  It uses the same colors that the Small Basic program uses to denote various parts of the code.  For this reason a color copy would be preferable (the physical book ) or your child may like reading it off the desktop screen or a mobile device.

This curriculum has been super easy to implement and has required almost no effort from me.  Yay! 

David did ask me for help at one point when he couldn’t get a program to run, which led to an impromptu logic discussion on “if-then” and “while” statements (his “while” ended too soon).  Part of the reason I feel computer programming is a worthwhile pursuit is because it’s so good at illustrating logic.

During the review period, he has completed the first 6 classes.  I’ve been impressed with his ability to learn the concepts being taught and immediately implement them into his own programs.  He hasn’t been copying the sample programs, but synthesizing the new information and creating something purely his own.

Since David is really the primary reviewer on this curriculum, let’s hear what he has to say.

 

What did David think of Beginning Microsoft Small Basic?

I like it.  I found it easy to follow most of the time.  It was fun to do, and it taught me a lot about programming.  I learned how to display text and make the computer react to the user’s input.  It’s really easy to make text-based games with Small Basic. 

After just a few chapters of the tutorial, I made a couple of games of my own.  The first one was called “Gunship Flight.”  The player was set as the captain of a little gunship class airship and you had to make certain decisions concerning the horribly mutated giant insects that were chasing you.

Gunship flight screenshot

After that, I improved on my programming skills and created “Gunship Flight 2.”  It was the same setting, but slightly more complicated and longer.

At the moment, I’m working on my best computer game yet, “Airship Attack.”  In this one, you can choose what ship you have and, depending on that, the game may have a different outcome.  You’re supposed to complete 3 different missions with your airship and if you complete all of them, you win.  If you crash, then you die, and if you fail, then you lose.

Airchip Attack screenshot

The actual game play is just pressing the buttons 1, 2, or 3 to choose different options that appear on the screen.  “Go left” might be “1.”  “Go right” might be “2.”  And so on.  You may also choose to use bullets or missiles when you reach an attack encounter.

For every encounter I had an ‘If-Then-Else’ statement, like:

If (Turn1 = 1) Then
    Health = Health - Math.GetRandomNumber(60)-52
    TextWindow.WriteLine("Your ship takes heavy damage from the missile, but you'll survive.")
    TextWindow.WriteLine("The waist turret blazes away at the enemy ship, and it goes down in a ball of fire.")
    TextWindow.WriteLine("")
  Else
    If (UserShip = "corvette") Then
      TextWindow.WriteLine("You try to dodge, but the missile scrapes against the rear starboard wing.")
      Health = Health - Math.GetRandomNumber(20)-13
      TextWindow.WriteLine("Your ship's health is now at " + Health + ".")
      TextWindow.WriteLine("The enemy wheels away, apparently satisfied.")
    Else
      TextWindow.WriteLine("You roll away from the missile.")
      TextWindow.WriteLine("The forward gunner pounds away, and manages to blast the defense ship out of the sky.")
    EndIf
  EndIf

And here’s what it looks like in the game…

Airchip Attack screenshot 2

This is an example from my nearly finished “Airship Attack” code.  Basically what this says is: If the player types ‘1’ when confronted with the first turn, then your ship takes damage from the missile, but destroys the enemy ship.  If the player enters ‘2’ and tries to dodge, then the computer checks whether or not the user’s ship is a corvette.  If it is,  then you can’t really dodge, so you still take damage from the missile.  If the ship is not a corvette, then you dodge easily and still destroy the enemy ship.

Believe it or not, it’s actually not that complicated to write code like this.  I just finished chapter 6 of the tutorial, and I already know at least fifty times as much about programming than I knew before I started.

The mechanics behind this are:  The If statement checks whether or not the variable in the parentheses is equal to (or greater then or less than, depending on the symbol) the number on the other side.  If the statement in the parentheses is true, then the code continues.  If not, it goes to the Else bit.

I prefer reading things like this on paper, but we can’t afford to print the PDF in color. :) I’m just noting this because if you do the same thing, you may have trouble reading the denser parts of the written code, like I did.  If it gets to be too much for you, you’re probably going to have to go look at the computer version or the print copy.  If the print version exists.  I just wanted to note that.

david socks profileThank you very much for your time,

-David

(The slightly insane genius)

 

 

Overall Recommendations:

We like Beginning Microsoft Small Basic and recommend it (without reservation) for kids (and adults) ages 10 and up who want to learn about programming.

Computer Science for Kids also has courses that go beyond the basics, including courses in Visual Basic, Visual C#, and Java.  Check their site for more details. 

Photobucket photo Disclaimer2_zpsff718028.gif

3 comments:

  1. Love hearing it right from the source! Sounds like you have been learning a lot, David, and that you are making some really awesome programs! They sound fun! :)

    ReplyDelete
  2. Great job on your review, David! I liked hearing about it from your perspective, and I think it's really neat that you have been able to do so much with the program already!

    ReplyDelete
  3. This comment has been removed by a blog administrator.

    ReplyDelete

Thank you for joining the conversation!

Please note: Comments on posts older than 16 days are moderated (this cuts down on SPAM). All other comments post immediately.