In July, Lewis University’s Department of Mathematics and Computer Science held a week-long program for high school girls interested in learning more about Computer Science, The program, called Girls Create with Technology, was sponsored by AT&T through its Project Aspire, and its goal is to draw more women into this rapidly growing and increasingly vital field.
Even though some of the most important innovators in Computer Science have been women, only 12% of the bachelor’s degrees in Computer Science were awarded to women in 2012, down from 37% in 1984 and 26% in 1998. This trend has to stop, and that is why we developed this program.
This morning, we taught the girls the basics of the Python programming language. Python is a wonderful first programming language primarily because it’s not limited to being a first programming language. It is powerful and full-featured enough to drive really sophisticated software systems, and there are many career opportunities for professional Python programmers. Despite its power, it is quite simple to learn. We host about nine hours worth of Python training recordings on our website (just scroll down the left side of the page and look for the links under “Python for Teachers Summer 2013”).
Today we gave them a crash course in the basics of the language (you can watch a recording of the session here). After learning the basics, Dr. Cindy Kersey, the lead faculty member on the grant, showed the girls how they could use Python to control the movements of a special robot called the Finch. There is an extension to the Python language that enables you to control the movement and beak color of the Finch and read its sensors from a program you write in Python. Dr. Kersey taught the girls these instructions so that they then could compete in navigating a Finch through a maze.
Normally, controlling a Finch requires communicating with it through a USB cable, as it has no built-in Wi-Fi. However, Dr. Kersey devised a clever system for making the Finch wireless. She strapped a Raspberry Pi computer to the back of the Finch, along with a portable battery pack and powered USB hub. The Raspberry Pi is a $35 full-fledged Linux-based pocket-sized computer that has enjoyed unbelievable popularity among computer scientists, educators, and hobbyists since it was released a little over a year ago. She plugged one of its USB ports to the Finch, and she installed a USB Wi-Fi adapter in another. All this was mounted to the back of a Finch by – what else? – duct tape.
The participants formed groups of two or three. Each team used a Windows PC to connect to the Pi over the wireless network through putty, a tool for interacting with other computers remotely. This enabled them to use a keyboard to type full Python programs that could control the Finch’s movements through the maze. The Linux image for the Pi includes a Python interpreter, so the Pi would compile the teams’ Python programs into instructions the Finch could understand. In this way, each team could control the movement of their Finch through the maze.
The participants not only learned Python. They also got to assemble the Finch-Pi-Powerpack combinations, learned a little about wireless networking, and found out how to send commands from one machine to another using Putty. These are pretty advanced lessons, but the girls did very well and had fun.
Here’s a video from the morning, showing the Finches as they move through the maze.
It was a great morning of doing some cutting-edge, hands-on, but inexpensive Computer Science experiments with some really talented and intelligent high-schoolers. We’ll be holding more sessions like these in the coming months. Hopefully we’re making positive steps toward increasing the number of women in Computer Science.