‘Programming for a Networked World’ teaches computing fundamentals in new course

A team of researchers at Vanderbilt University is creating web-based software called NetsBlox to make programming easier and more accessible for students from a wide range of backgrounds to learn. By allowing students to program by connecting ‘blocks’ to form composable stacks of computation, NetsBlox encourages experimentation, play and open-ended discovery. At the same time, NetsBlox opens up the internet and its vast resources to student programs making it possible to create more engaging projects and to teach more advanced concepts. The Vanderbilt University Libraries is supporting these activities by creating a massive open online course (MOOC) to teach introductory computer science with NetsBlox.

NetsBlox is a free, open source, visual programming environment for teaching and learning computer science. At Vanderbilt, NetsBlox has been used to introduce students to the fundamentals of computer science at the School of Engineering as well as to teach computing to students from the humanities in the College of Arts and Science. Akos Ledeczi, professor of Computer Science and professor of Electrical and Computer Engineering in the School of Engineering at Vanderbilt University, uses NetsBlox in CS 1103: Introductory Programming for Engineers and Scientists to teach core concepts of computing during the first two weeks of the course. As Professor Ledeczi comments, “NetsBlox makes it possible to provide a gentle introduction to programming for novices while also highlighting the power of computer science with really cool projects they create the very first week.”

NetsBlox builds on previous block-based programming tools such as MIT’s Scratch and the University of California Berkeley’s Snap! languages but adds two key features: remote procedure calls (RPCs) and peer-to-peer networking. The first allows users to integrate data and services from many sources, including Google Maps, IMDB, the New York Times, and Twitter. Brian Broll, research and development scientist at the Institute for Software Integrated Systems at Vanderbilt and lead developer of NetsBlox, remarks on the distinctive features of NetsBlox: “NetsBlox has turned into an entire ecosystem of tools. Students can access the sensors on their smartphones, remote control educational robots, collaborate and compete in a 3D virtual robot simulator and even create Alexa skills.”

Clifford Anderson, chief digital strategist at Vanderbilt University Libraries, is collaborating with Ledeczi and Broll to develop a Massive Open Online Course (MOOC) about NetsBlox. Designed for release on Coursera, the MOOC is titled “Programming for a Networked World.” As its name suggests, the MOOC will introduce students to the basics of programming by drawing on RPCs and teaching peer-to-peer programming techniques. “Our goal is to teach the fundamentals of computer science with contemporary data services and sources, exposing students to cutting-edge topics like peer-to-peer networking and natural language processing at the beginning of their programing journey.” Anderson hopes that the course will foster computational thinking in disciplines beyond computer science, including among the humanities and social sciences.

Look for the “Programming for a Networked World” to be released this summer on the Coursera platform. Early releases of select videos from the course are already available on YouTube: https://www.youtube.com/@cliffordanderson.