Category: Uncategorized

Programming for Kids

Blockly Games caught my eye the other day and finally got me to pull together my notes on programming teaching tools for kids.  There are some really cool tools out there.  If you have a sphere of influence with kids whether they be your own or just ones who might listen, check out these resources…

Blockly Games

This is the tool that I just recently ran into.  The nice part is that it is web-based so you don’t have to install anything.  Also, it is puzzle based.  Instead of just giving kids something to explore, it gives them a challenge to try to accomplish.

Link: Blockly Games

The tool is made up of multiple games that motivate kids to explore and learn:

Blockly Games Menu

For example, the maze game requires that you write a program to walk the user through a map.

Blockly Games: Street Maze Game

Learn to Code

I found another very similar tool.  The one-up from a kids point of view: angry birds.  It looked very similar to the blocky games (in fact, I think it is the same library), but the character in the puzzle was an angry bird.  There’s also a nice little intro video to explain what is going on.

Link: Hour of Code

Alice

I’m not sure where I first heard about Alice, but it sounds like a pretty cool learning tool.  It uses a 3D interface, which makes it a bit heavier.  The download was 1.2G!

Link: Alice Homepage

Getting it working wasn’t hard at all.  I went to the Alice 3.1 Download Page.  After uncompressing the download, I ran:

sh ./alice3.sh

That was for my Linux system.  For Windows, there is an Alice3.exe that you can run.

I think that I may have learned about Alice from this Google Tech Talk:

Wombat Object Basics

Oracle has a little tutorial for using Greenfoot.  It looks a little involved, and I haven’t been through it all yet.

Links:

Installing Greenfoot was pretty simple.  The download page has a deb package that I could use.  I simply installed it using the Ubuntu Software Center.

Snake Wrangling for Kids

This is a book that I came across a long time ago.  I haven’t ever delved into it, and now I find that there is a new version out on Amazon.

Link: Google Code Project (Old Version)

Here’s the new version:

Scratch

Scratch is an online tool.  It seems very similar to Blockly, but instead of puzzles and challenges, it is just a tool that lets kids explore.

Link: Scratch Website

RoboCode / RoboJS

A long time ago, I ran into this cool game.  It makes programming fun.  The idea is that you write a small program to control a virtual robot.  You pit your program / robot against others in a virtual arena.

Link: RoboCode Website

The original RoboCode requires Java and running a program from your PC.  I found another version that was ported to Javascript.  I’m not sure it is as complete as the original, but it allows you to play the same game in Javascript and a browser.

LinkRoboJS – Robocode in Javascript

You can check out the source code:

BBC Schools Computing

BBC has launched a website with various resources.  There’s a bunch to explore here, and I haven’t explored it all.

Link: BBC Schools Computing

PHP For Kids

This is more like a web development course.  You can go through the material and learn HTML, PHP, etc.

Link: PHP For Kids

Resources

Mediatek 7630 on Ubuntu

We are now proud owners of an ASUS TP500LA-AB52T laptop.  It is a new laptop to help my wife with her new teaching job.  I have installed Ubuntu on it so that it matches the rest of the computers in the house.

The first issue is that the wireless doesn’t work on first boot.  This is a major blow because the point of the laptop was so that she could catch up on her teaching plans anywhere.  Being tethered to the router in the back room kind of defeats the purpose.

Here’s the wireless card information:

$ lspci | grep -i wireless
03:00.0 Network controller: MEDIATEK Corp. MT7630e 802.11bgn Wireless Network Adapter

The fix was to just to manually install the wireless driver.  I found a bug post with fairly good instructions (Thank you keshara Dorakumbura).

Read More

Chrome App Launcher

I found Google Operating System’s post about the Chrome App Launcher.  Here’s my experience with getting it to work.

First, I found that I needed to install a “Desktop Web App”.  So, I picked up one from the Chrome Web Store.  It needed to be one from the “For Your Desktop” Collection.  I decided to try out the Pocket app.

Before installing that app, this didn’t work.  Afterward, I was able to search for “Chrome App Launcher”.

Chrome App Launcher in the Unity Menu

Here’s what it looked like when it opened:

Chrome App Launcher

To get it to stay where I could easily click on it, I right clicked on it’s icon and selected “Lock to Launcher”.

Locking to the laucher

Resources

Game: Spiritual Warfare

As a kid, I played this game called Spiritual Warfare.  I’m not sure if it was a gift or if it was something that we got at the Christian bookstore.  Nevertheless, it was a lot of fun.  I don’t remember that much of it, but I do remember some of the hymns that played in the background during the game play.

Spiritual Warfare Title Screen

I found that you can still purchase the game online.  I thought my son would enjoy it, plus it would be a good challenge to get it to work in Linux.  Here’s the website:

Note:  I had a little issue with my order, and it took over a month to arrive.  I think I caught the company at a bad time when staff was working through some form of personal emergency compounded by some shipping issues.  They made up for it by providing another game, which I will have to blog about when I get a chance to try to get it working.

Installing Wine

The game came on a CD with a Windows installer.  The game itself is a DOS game, but the installer requires Windows.  I used Wine to run the installer.  In actuality, since Windows is not required for running the game, I could have used a VM or a friend’s computer.

I added the latest Wine repository and installed Wine with these commands:

sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install wine1.6

This installed the Wine version 1.6.  On my laptop, I tried it first with version 1.7, and that did not work at all.  Apparently, there is a bug out there between the latest kernel, Wine, and 16-bit applications.  It gave me this error on my laptop:

err:module:attach_process_dlls "krnl386.exe16" failed to initialize, aborting
err:module:LdrInitializeThunk Main exe initialization for L"C:\\windows\\system32\\winevdm.exe" failed, status c0000005

I went to my other laptop, and the 1.6 version worked fine.

I created a separate Wine prefix for this install.  I think the 32-bit part was important (WINEARCH=win32).

mkdir .wineprefixes
export WINEPREFIX=$HOME/.wineprefixes/spiritualwarfare
export WINEARCH=win32

I ran winecfg to create the Wineprefix, although that wasn’t necessary.  The only thing that I did was to select Windows 98 for the Windows version.

To start the installation, I ran:

wine cmd
d:
setup.exe

Actually, the CD wouldn’t work in the other computer.  I had no problem copying the install files off the CD on my laptop and transfering them over the network to the other computer.  You can just launch setup.exe from any location where you have the install files.

wine setup.exe

I basically accepted the defaults for the install.  This installed the game into C:\SPIRIT, which considering Linux and the Wine prefix, that would be $HOME/.wineprefixes/spiritualwarfare/drive_c/SPIRIT.

DosBox

Wine will not run the game itself because it is actually a DOS-based game.  So, I installed DosBox with this command:

sudo apt-get install dosbox

Then, after starting DosBox, and I had to do a couple of things to get it to run.   First, you have to mount the C: drive to get access to the executable:

mount c .wineprefixes/spiritualwarfare/drive_c

Then, you can just launch it like you would in DOS:

C:
cd \SPIRIT
spirit.exe

At first, the game was a little fast.  I learned that you can slow it down with the Ctrl + F11 sequence.  (You can speed it back up with Ctrl + F12).  Then, you can go to full screen mode.

Shortcut

Now, my son is not going to enter a mount command and go through all of that.  (If it was the only way he could play the game, I’m sure he would learn how!)  I found that I could create a custom configuration file just for the game.  I copied the default one:

cp $HOME/.dosbox/dosbox-0.74.conf $HOME/.dosbox/spiritualwarfare.conf

Then, I edited my copy.  I changed:

  • fullscreen=true
  • cycles=768 (under [cpu] )
  • The [autoexec] section

At the end, the lines I put in autoexec where:

[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
mount c ~/.wineprefixes/spiritualwarfare/drive_c
c:
cd SPIRIT
spirit
exit

Finally, I made a shortcut with the “Menu Editor” program (alacarte), and I entered the command:

dosbox -conf $HOME/.dosbox/spiritualwarfare.conf

Game Play

In the installation directory, there is a readme.txt file with some helpful information to playing the game.  You’ll probably want to go through that.  Just to help, here are the keys to use:

Arrow Keys – Control the hero
Space Bar – Makes the hero throw fruit
Tab – Makes the hero drop a vial or throw the jawbone or the sword
Pause or F10 – Pauses the game

1 – Select Pear
2 – Select Apple
3 – Select Pomegranate
4 – Select Grapes
5 – Select Banana

P – Pray
M – Bring up the map
V – Select Vial of God’s Wrath
S – Select Sword of the Spirit
J – Select Samson’s Jawbone
R – Select the Raft
T – Light the Torch
A – Use Anointing Oil

F1 – Options Menu
F2 – Load Game
F3 – Save Game
F4 – Sound Menu
F5 – Game Speed Menu

ESC – Quit Game or Clear Menu

Other than that, just explore.  Keep looking for things to get.  It’s a lot of fun.

Playing Spiritual Warfare

Resources