Kids Can Code Too

Computer science doctoral students team up to develop alternative way to teach kids programming

Step into a classroom inside UC San Diego’s Computer Science and Engineering building during the weekend, and this is what you will find: two dozen elementary, middle and high school students, about half of them girls, huddled around laptops and computer circuit boards. They’re hard at work on computer programming tasks with fun names, including “Do the wave” and “Horton finds food.” One group of students is developing a gun-less laser tag game, for which they’re trying to get funding.

It’s all part of a program started by three UC San Diego graduate students. Called ThoughtSTEM, it’s designed to teach children ages 8 to 18 how to program through hands-on activities.

“Kids shouldn’t have to wait till college to learn programming—and to learn that it can be fun,” said Stephen Foster, one of ThoughtSTEM’s founding members and a Ph.D. student in computer science at the Jacobs School of Engineering at UC San Diego. The three ThoughtSTEM co-founders all share a belief that traditional educational methods, which rely on formal instruction from a teacher, can fall short. They want to provide an alternative. They also believe that it’s important to start teaching students early on to get them excited about science, technology, engineering and mathematics, better known as the STEM fields.

To Learn More:

What: ThoughtSTEM, a program designed to teach programming to students ages 8 to 18

When: Sundays and summer

Where: UC San Diego and University City

Cost: Varies. Sunday sessions are $50 but discounts are available, including for UC San Diego employees

A number of well-known members of the technology world, including Bill Gates and Mark Zuckerberg, have recently called for programming skills to be taught before college. One of the most visible pushes in this area is the Code.org campaign, featuring interviews with Gates, Zuckerberg and Jack Dorsey, the creator of Twitter.

Providing students with opportunities to experience computer science in elementary, middle and high school is important, said UC San Diego Chancellor Pradeep K. Khosla. “UC San Diego has many K-12 outreach programs that cultivate the STEM pipeline,” Khosla said. “I am pleased that our graduate students are helping us to motivate and encourage younger children so they will hopefully consider these majors in college.”

Students in the ThoughtSTEM program start at the same level as UC San Diego freshmen majoring in computer science, said Sarah Esper, a Ph.D. computer science student at the Jacobs School and ThoughtSTEM founding member. If they enroll in ThoughtSTEM in middle school and continue until they graduate high school, children can be reach the same level as students graduating from UC San Diego with a major in computer science.

“I started programming when I came to UCSD as an undergraduate,” said Esper. “I see a huge value in showing people that they can do it, because I didn’t think I could.”

Although students learn mostly from hands-on tasks, they are paired with UC San Diego computer science graduate and undergraduate students, who mentor them and help them master programming skills. “ThoughtSTEM mentors are great,” said Lindsey Handley, the program’s third co-founder and a Ph.D. student in biochemistry. “They’re bound for Google, Microsoft—you name it.”

Children attend weekly workshops at UC San Diego on Sundays. Grace Manning, a sixth grader at Standley Middle School, is one of them. “I like going to the college because I like to see what the campus looks like,” the 11-year-old said. “I really want to go to UCSD and be a student there.”

Before she started ThoughtSTEM, Grace wanted to be a veterinarian. Her career goals have now changed. “I want to work at Microsoft or create my own business by making apps or games,” she said. She wants to become a computer software engineer.

Students work at their own pace and Grace was able to move ahead quickly, said her mother, Alison Manning. “You can’t really learn this stuff in school,” Manning said. “It’s unique because it’s not really a classroom. It’s all hands-on.”

Summer camps

Grace and her brother, Austin, a fourth-grader, plan to enroll in ThoughtSTEM’s summer camps from June 17 to Aug. 30. Camps will revolve around themes, such as James Bond Engineering, Video Game Development and Building and Guiding Robots. The themes are organized in series connected to specific skills, such as mobile computing, bringing computers to life and website design, development and deployment.

“I like to be able to tell the computer to do something and being able to see it happening,” Grace said. “I know why it’s happening.”

Weekly workshops to teach basic skills

During the weekly Sunday sessions, Grace and other kids can choose among a wide range of tasks that help them master the basic skills a programmer needs. Kids draw challenge cards for each task that describe the hardware and snippets of code they’ll need to use. For example, for “Do the wave,” they get six LED lights, six circuit elements called resistors, many wires, a base for building circuits called a breadboard, a device designed to control circuits called an Arduino and a diagram showing how to connect all these pieces. They also get the code they will need to use to get the board to talk to the LEDs. The goal is to get the lights to light up one after the other, creating a visual wave.

Once the students have mastered the skill on their challenge card, they get an upgrade card, which gives them a more difficult task, this time without new hardware, diagrams or snippets of code. To complete the task at hand, students need to figure out how to manipulate the code driving the circuit they were provided before. For “Do the wave,” the upgrade asks students to make even lights blink together and odd lights blink together. When students successfully complete their challenge, they earn the achievement card for the task. Students collect their achievement cards in a folder, which they show their parents as a kind of fun report card.

Aside from building with Arduino circuit controllers, the ThoughtSTEM program also provides challenges in visual languages such as Scratch, or other text-based languages such as Javascript and Java.

A weapon-less laser tag game

A small group of students, including Grace, has already mastered the program’s first level, where students learn basic skills. Foster, a ThoughtSTEM founder and computer science Ph.D. student, worked with these children to help them create a project from scratch. They decided on a weapon-less version of laser tag.

Students built a home-made circuit board. They used hydrogen peroxide, vinegar and salt to etch away parts of the circuit on copper. Then they printed their circuit pattern with a laser printer and ironed it onto to a copper plate. Students, including Grace, then programmed the circuit to respond to an infrared sensor, which pulsates at the same frequency as a TV remote. Finally, they hooked up LED lights to the circuit, which is small enough for students to wear.

Opponents can wear the home-made circuit boards with LEDs. They use TV remotes, or similar infrared transmitters, to tag each other, making the LEDs turn from green to red. Foster posted the project on Kickstarter, a popular fundraising website. The hope is to raise enough funds to create a store-ready version of the game.