CS professor inspires high school students to design using code
NewsSUMMARY: Computer Science Professor, Chris Johnson, creates “Twoville” — a language to help high school students learn programming through coding and two-dimensional design.
Computer Science professor Chris Johnson is making a big impact on the local Harrisonburg community through Twoville, a program he created that teaches students how to code as they explore the math and logic of two-dimensional illustration.
“I want to make computer science less virtual and more grounded for learners,” said Johnson. “For the past few years, I have been searching for ways to make computer science more physical, more integrated into the world around us. Twoville works as an accessible space where students can design creatively. They write code to build virtual 2-D objects, but then they make them real with fabrication tools.”
Before launching Twoville, Johnson tested the program with his children. “We made several art pieces with different materials using the commands in Twoville.” Johnson recalled spending the day making mosaic stickers that looked like stained glass windows. “My children have been this sort of proving ground that shows this is something I could engage younger generations with,” Johnson explained. “They made the vision for this project possible.”
Johnson quickly realized the impact that spatial thinking had on his children and took Twoville one step further — he introduced it to the community. He began teaching local high school students — inspiring them to use code to create their own projects.
During the summer, he led a summer camp at JMU for students in the Refugee Resettlement Program. “One of the students was looking for inspiration for a design to make on the laser-cutter, and I suggested searching for mathematical knots on the web,” explained Johnson. “The student found the heart knot, which could be traced using the three turtle geometry commands we had been using. The knot provides a nice intellectual challenge because of its varying lengths and radii.”
“When working with Twoville, they begin with a piece of paper,” said Johnson. He believes people can think much more creatively by first sketching on paper — where they aren’t at risk of getting overwhelmed by learning a new language. “Students draw their shapes on graph paper using spatial skills that they already have.” Next, Johnson teaches students how to locate the important points of their drawing and measure distances and angles. Then they move to the computer. “Coding is more of a translation step than a design step,” Johnson explained. “When we go straight to the computer, students struggle. But they struggle less when we separate the mathematical thinking from the coding.”
“Programming can be a demoralizing experience, so I try to stay near the visual domain so that they can use their physical senses as they code,” explained Johnson. “Twoville also allows direct manipulation of the object. This means that they can drag on handles to modify a shape’s properties instead of indirectly manipulating the shape through code.”
The process gives students a more visceral experience when creating their shapes. Johnson likes the balance between these components and coding because it helps students think about coding in more discernable ways. After programming is complete, the object is then sent to fabrication tools like a vinyl cutter, a laser cutter, or an embroidery machine.
Students in the summer camp fabricated vinyl stickers, T-shirts, greeting cards, and plywood silhouettes of cats, flowers, and even flags of their home country. “It’s nice to have a tool where people can create something meaningful to them,” said Johnson. “I know Twoville is a success when students get excited by their creations.
Johnson hopes to establish an after-school program to teach coding in the community. “I would like to recruit computer science students as mentors to work with younger generations — building something that we’re passionate about together,” says Johnson.