Interdisciplinary NetsBlox project makes computer programming intuitive
Vanderbilt University Professor of Computer Engineering Akos Ledeczi doesn’t want everyone to become a programmer.
But understanding how computers think, interact, and do what we want them to do – those are 21st century skills, he said.
In NetsBlox, a visual programming environment, Ledeczi and an interdisciplinary team are developing a teaching tool that introduces the basics and a high-level view of distributed computing. The team has worked with students as young as middle schoolers and has several upcoming camps and workshops with young learners as well as high school students.
NetsBlox is built on top of Snap!, an environment created at the University of California at Berkeley. Snap! is based on Scratch, the best-known programming tool for kids from the MIT Media Lab. Young students use Scratch to create basic Pong-like games, animations or virtual stories. Snap!, a visual drag-and-drop programming language, picks up where Scratch leaves off, making it an appropriate introduction to computer science for high school and college students.
Public data sets expand possibilities
NetsBlox adds message passing, a way computers communicate with each other; access to a set of online data sources in the public domain – maps, weather, movies, trivia, and earthquakes are a few; and introduces distributed programming. The goal is to make writing a distributed computer program much like solving a simple puzzle.
With NetsBlox, for example, an average high school student can create a simple multiplayer game, run it on her phone and play against a friend over the internet after just a few weeks of instruction.
The popularity of massively multiplayer online role-playing games made this approach a “no-brainer,” Ledeczi said.
The jump to distributed programming and the computational thinking behind it is significant. A distributed program is actually multiple programs running on different computers communicating and synchronizing with each other. Think of the difference between going out to dinner alone or organizing a wedding reception, including picking the date and time, confirming the most important guests can make it, sending invitations, organizing transportation, reserving the place, ordering catering and booking a band.
Distributed programming can be far more complex than simple two-person games, but a game introduces the concepts and forces students to program information to send somewhere else plus consider delays and response times.
With the data sets, students can create movie quiz games and trivia contests to play with each other. Data on earthquakes, air pollution, astronomy, and weather can be the foundation for a school science project.
“If you consider the popularity of Netflix, Facebook, YouTube, Twitter, Google Maps, Siri, Amazon Echo, all distributed programs, distributed programming is rapidly becoming part of basic computer literacy, so NetsBlox presents a unique opportunity, because students already use this technology every day and their natural curiosity will motivate them to learn more about it,” he said. “We believe that NetsBlox will provide increased motivation to students to become creators and not just consumers of technology.”
TIPs, NSF funding fuel NetsBlox
NetsBlox is part of Vanderbilt Trans-Institutional Programs – or TIPs, a $50 million initiative that supports cross-campus interdisciplinary research and teaching, a foundation of the university’s Academic Strategic Plan.
TIPs funded the project in 2015. Since then, NetsBlox has won two separate National Science Foundation grants. First came a two-year, $300,000 STEM + Computing EAGER grant to accelerate the program’s development. Then, in partnership with Stanford University and SRI, Vanderbilt received a three-year $2.5 million STEM + Computing grant to help advance new multidisciplinary approaches to, and evidence-based understanding of, the integration of computing in STEM teaching and learning.
Ledeczi is the lead faculty member on the TIPs grant. Chris Vanags, the associate director of the Center for Science Outreach and an instructor in the School for Science and Math at Vanderbilt, also is part of the team.
TIPs projects advance discovery and learning, with many providing cutting-edge immersion experiences for students. Already, undergrads, graduate students and postdocs have participated in the NetsBlox effort.
Computer science major Melvin Lu, an active VandyHackers member and author of three free Google Play apps, is among them. He worked as an undergraduate research assistant in Ledeczi’s lab in summer 2016 last before the start of his sophomore year.
Lu developed a battleship game, a distributed animation of a dog jumping from one computer to the next that showed how NetsBlox communicates with other clients, plus an instructional video.
“It was a very hands-on experience,” said Lu, who has an internship at Google this summer.
His ease in learning NetsBlox isn’t unique. Ledeczi said Zsofia Biegl, a high school intern with no programming experience, created a multiplayer game similar to Connect-4.
Program targets wider high school use
Ledeczi introduced NetsBlox in his college classroom this year with CS 1103, a required course for all non-computer science majors in the School of Engineering. While programming using MATLAB is the main focus of the course, the curriculum started with two weeks of NetsBlox to ease the steep learning curve of studying computer programming from scratch.
A class from the Vanderbilt Center for Science Outreach’s Day of Discovery program, which immerses middle school students in research-based STEM curriculum for one day a week, was introduced to the tool, as was a class of high school students who test drove NetsBlox for nine weeks.
This summer, Ledeczi and Ph.D. student Brian Broll, the lead architect of the NetsBlox software, will have a weeklong program for students in the SSMV and a coding camp in Ledeczi’s native Hungary. In the fall, Broll plans to teach a middle school class at University School of Nashville. Eventually, they’d like all Tennessee high school students to become familiar with the concepts.
Already, NetsBlox is under consideration for inclusion in a new Advanced Placement high school course, “Computer Science Principles: The Beauty and Joy of Computing,” which itself is based on a popular course at the University of California-Berkeley.
Ledeczi has even bigger goals, which would require a company or other third party to underwrite the cost of greater cloud-based server support.
“I’d like to see it in hundreds of classrooms all over the country,” he said.