Robot challenges
ANDREW O. ON LINUX “Installing and looking at Linux was pretty simple and fun. I thought it was cool to see you can have multiple screens on one monitor!”
For any teacher, there will always be challenges when mastering a new curriculum. However, the biggest roadblock experienced was working in a computer lab that was governed by district information technology policies, which created some serious problems. The speedbumps began with a unit on programming robots. The district only supported Windows computers in the classroom, and security settings prevented the loading of software or accessing USB devices. In the true spirit of IT professionals, we discovered multiple ways that Linux could get around imposed barriers and enabled students to gain an authentic appreciation of the things Linux could accomplish. Over time, the classroom evolved and the students were able to use a dedicated Linux network in parallel with their Windows and Mac workstations.
In the ECS classroom, students learn the basics of algorithms and web design. Students begin actual programming lessons with Scratch (https://scratch. mit.edu). This block-based language is used in introductory-level classes and is often accessed via a web browser. There were no initial problems working with our Windows systems. It made sense to introduce robots that used the same language. We have a classroom set of Finch www.birdbraintechnologies. com/finch and they are designed to be controlled via Scratch. However, right at the start, the Finch robots were unable to communicate via the USB ports with the host computer, and students were disappointed and frustrated. With a little investigation, it became apparent that system policies were at fault.
Delving into the Finch documentation, we discovered there was a Linux implementation of the robot driver and sample Python code that could be used. While users could not install files or modify the operating system on the Windows computers in the classroom, we could access the BIOS at startup to select a different boot disk. With a Linux distribution loaded on a USB thumb drive, the robot began responding on the first try. The next step was to equip each of the students with their own USB Linux boot stick. Using a personal Windows laptop not subject to account restrictions, an ISO image for Ubuntu was downloaded and Pendrivelinux (www.pendrivelinux.com) was used to create a set of bootable drives for the students.
It is suggested that if you need to use USB drives in your environment, reserve a portion for “persistent” storage. This must be done when initially using a program like Pendrivelinux. This allows for the storage of files students create for editing and expansion later.
The students’ reactions were immediately positive. They found that the old computers seemed faster than before, especially when accessing the internet. Most importantly, they began to feel that they were more in control of their learning environment. When it was suggested going back to Scratch and web-based learning modules, they protested and demanded to stay with Python and text-based programming. So over the rest of the year we developed a curriculum that showcased the power and versatility of Linux. This experience led me to present several sessions at the Computer Science Teachers Association annual conferences, focused on Linux in the classroom.