Energize Education through Open Source will be one of the books presented by Lulu Publishing at the Los Angeles Times’ annual Festival of Books at the USC campus on April 18 and 19, 2015. More information will be provided as it becomes available. For more information about the festival, click here.
While looking for a blog topic, I came across Colobot, a real-time, 3-D first-person strategy game that teaches users how to write computer programs. The pretense is an engaging one. The user is an astronaut who is equipped with robots. The user must use these robots (called “bots”) to make the planet he or she is currently on safe for human colonization (thus the name (“colony”+”robot”=”Colobot”)). In order to get the bots to accomplish tasks, the user must write the commands in CBOT, Colobot’s programming language, which is similar to the C or Java programming languages in its syntax.
Upon initial launch, the user is prompted to create an user account and character. The next screen presents the user with a switchboard interface that is graphically enhanced to make it appear similar to a control panel for a highly technical piece of equipment. Here users can configure Colobot and choose what kind of scenario they want to play out. The screenshot on the left shows this screen. There is a series of tutorials to help new users get accustomed to Colobot and the CBOT language, so this is what the author chose to do while experimenting with Colobot. The goals of each tutorial vary so the user can get a very clear idea of the missions that lay ahead.
Once the game has begun, the user finds him or herself in the role of the astronaut. A button in the upper left corner allows for users to toggle between being the astronaut and being one of the bots. To command a bot, the user must open the Program editor (shown in the screenshot at right). Here the user instructs the bot on what to do. Commands include movement, rotation, location scanning and object manipulation, among other things. Looking at the simple script that the author created, you can see that the bot has been instructed to turn ninety degrees left (to turn right, -90 would be used) and to fire its flame cannon at the spider. Clicking the Execute/stop button will verify that the code will work. Click on the OK button and the program is executed (see the screenshot below).
One of the great components of this software is the help feature integrated into the Program editor. The help provided includes both general assistance relating to the CBOT language as well as assistance writing a program for the given training scenario. In the first instructional scenario, users are even provided with the complete program to complete the mission. The author called upon this integrated help repeatedly while learning to use Colobot and found it to be very helpful. The screenshot below shows a typical help session.
In closing, I just want to say that this is an engaging and imaginative way to teach young people how write computer programs. This application is greatly enhanced by slick, colorful graphics and fun, realistic sound effects. When users learn to write complete programs (as opposed to doing things one step at a time as the author did) that’s when things really become visually appealing. It’s fun and fascinating to watch a bot complete a task and automatically go on to the next one like a, you guessed it, robot. Colobot is available on Linux and Microsoft Windows platforms.
Colobot [software]. (n.d.). GNU General Public License.
This is a topic of great importance to anyone who has tried or wishes to try to introduce people to open source. For many computer users the mention of “open source” brings to mind Linux, what they perceive to be a computer geek’s operating system that is just too complex for regular people to use. Writer and technology coach Scott Nesbitt presents in this short video a viable way for people in the know to introduce open source to new users. He makes some damned good points, so you may want to take notes.
For this installment, I’d like to take a look at a piece of open source software (what else?) that allows you to view and modify hard drive partitions. If you have no idea what I’m talking about, please allow me to elucidate.
Modern hard drives offer an enormous amount of storage space. Imagine a massive warehouse in which you can store things. However, what if you need to section off space for certain things, such as office equipment? You might put in a room to house these things so that you can access them more readily. That’s where hard drives are like warehouses. You don’t always need one big space to store your data. You may want to section off, or partition, space on your hard drive for backup or maybe for personal files. If you use a recent version Microsoft Windows, your hard drive is already partitioned (one partition for your use and one partition for system restore files).
So, how do you partition a hard drive? This is usually done using a program called fdisk prior to installing an operating system. The reason for this being that adding or removing hard drive partitions can erase data on the hard drive in question. The only alternative is to use software designed to allow this process to occur while simultaneously protecting your data. This is where GParted comes into play.
Let’s take a look at the GNOME Partition Editor, or GParted, for short. When you start GParted, the program window will open and immediately start looking for hard drives and hard drive-like devices connected to your computer. Once such devices have been identified, GParted is ready to use. The screenshot on the left shows GParted displaying the partition table for the author’s primary hard drive (/dev/sda).
As you can see, GParted provides information regarding partition type, size and usage. In the case of the author’s hard drive, information regarding unallocated space is also included. Right-clicking on a partition will open a menu providing options such as unmounting the partition in question, resizing/moving the partition and even more information about said partition. Unavailable options are grayed out. Here you can also toggle the partitions from which your computer will try to boot, using boot flags. A toolbar provides moderate functionality, however, the menu bar near the top of the window provides the quickest access to features.
To demonstrate how easily partitions can be created, the author chose to create a partition on a 1 TB external hard drive. Simply right-click on unallocated space on your device and choose New from the menu. This will open the Create New Partition dialog box (as shown in the screenshot at right). Here you can enter such information as the size of the new partition, the file system (operating system type) and even a label for the new partition. When ready, click the Add button and GParted will do all the work.
When the process is completed, you’ll be presented with the main GParted window, which will display your newly created partition (see the screenshot to the left). Looking at the top pane in the screenshot, you can see that my new partition occupies the entire hard drive. Below this, a pane provides specific information. You will notice that the aptly named “New Partition #1” has a fat32 (usually spelled FAT32) file system. I have given it the label “My Passport,” which is the name assigned to this device by the manufacturer. You’ll also notice that its size is 931.48 GB. Used space and unused space are blank and this partition has not been flagged as bootable.
So, what types of partitions does GParted support? The screenshot on the right shows a GParted window displaying compatible file systems. Not all file systems are supported. However there are a few worth noting. The file systems ext2, ext3 and ext4 are the most common Linux/UNIX file systems. You’ll also notice file systems fat16 and fat32, the latter of which I used for my partition on the external hard drive. These file systems were used in DOS and Microsoft Windows 95,98 and ME. Finally, you’ll see ntfs, which was/is used on Microsoft Windows NT, 2000, XP, Vista, 7 and 8.
This leads me to one of GParted’s strongest features -the capacity to possibly restore data from a hard drive. If you’re running GParted in Linux, gpart must be installed. If you’re using a live CD/DVD version of GParted, this shouldn’t be a problem. I used an older EIDE hard drive that had been damaged in a system-wide crash a few years ago. Click on the GParted option on the menu bar, hover over the Devices option and select the desired device from the list that unfurls. GParted will analyze the device and display its report as shown in the screen shot on the left. Clicking the View button next to each file systems found will open a file manager in read-only mode. Here you can peruse the recovered data and even relocate it to a safer place.
The best thing of all is that you don’t need to be using Linux to use GParted. The GParted Web site offers a download for an ISO file that can be burned onto CD/DVD, as mentioned above. Your computer can then boot from this disc into GParted. Once booted up, you can readily partition any hard drives you need to or engage in data recovery in the event of a crash. How cool is that?
GNOME Partition Editor (GParted)
Hakvoort, B., Gedak, C. et al. (2014). GNOME Partition Editor [software]. GNU General Public License.