VU BreakThru

Home » News » Putting NetsBlox in the Classroom at Vanderbilt

Putting NetsBlox in the Classroom at Vanderbilt

Posted by on Wednesday, January 25, 2017 in News, TIPs 2015.

Akos Ledeczi

Vanderbilt Professor of Computer Science Akos Ledeczi

Written by Vanderbilt Professor Akos Ledeczi

Computer Science education is receiving increased attention today. Introductory programming classes are popping up everywhere. However, to the best of our knowledge, there is no programming environment or curriculum that introduces distributed programming to young learners. On the one hand, this is understandable because teaching computer programming in K12 is challenging enough already to students and teachers alike. On the other hand, the majority of computer applications we and our children interact with daily rely on the network to provide their functionality. The web, texting, Twitter, Facebook and other social networks, multiplayer games, Pandora, Netflix, Amazon Echo, Siri, Google Maps and YouTube are just a few of the most popular examples. Moreover, the Internet of Things (IoT) promises to change our lives. Teaching distributed programming then constitutes both a necessity and a great opportunity.

NetsBlox_1

CS 1103 students working on their NetsBlox project during a help session

Enabled by a Vanderbilt TIPs grant, we set out to show that with the help of a carefully designed visual representation, an intuitive user interface and a sophisticated cloud-based infrastructure, it is possible to teach some of the key underlying concepts of distributed computation to high school students. We built our experimental visual programming environment called NetsBlox on top of Snap!, an environment created at UC Berkeley which itself is based on Scratch, the best known programming tool for kids from the MIT Media Lab. We extended Snap! by introducing just a few visual abstractions that enable students to create distributed programs such as client-server applications that utilize publicly available data on the Internet such as weather, air pollution, maps, seismic activity, etc.,  as well as multi-player games. This approach has several advantages. By extending Snap!, NetsBlox provides natural progression to students who learned programming using a visual paradigm. Providing access to vast arrays of data on the Internet right from NetsBlox in a uniform manner empowers the students to create innovative science projects and bring STEM concepts into CS education at the same time. Finally, the ability to create multi-player games provides increased motivation for a large number of students making them creators and not just consumers of digital entertainment.

NetsBlox_2

Temperature map of the U.S. midday on January 24, 2017 generated using the Google Map and Weather Services of NetsBlox

Last Spring a brave group of students from Hillsboro High School participating in the Interdisciplinary Science and Research Program (ISR) created by the Vanderbilt Center for Science Outreach test drove NetsBlox for a few weeks. This semester we introduced NetsBlox into the classroom at Vanderbilt. CS 1103 Introductory Programming for Engineers and Scientist is a required course for all non-Computer Science majors in the School of Engineering. While the main focus of the course is teaching programming using MATLAB, the curriculum starts with two weeks of visual programming to help with the steep learning curve of learning computer programming from scratch (pun intended). We used to rely on Scratch in past years, but in 2017 we decided to use NetsBlox instead. While the first three classes covered basic programming concepts, we were able to spend a full class introducing such distributed programming concepts as Remote Procedure Calls (RPC), message passing and massively parallel volunteer computing. While one can teach a full year course on the subject, at least this one class exposed the students to some of the challenges and the enormous potential distributed programming has. While the 200 students are still working on their first projects, a NetsBlox application of their own choosing, some of them will surely create distributed applications. We can hardly wait to see their innovative programs and the results of the anonymous survey we plan to conduct after the project deadline.

Our team was able to secure the support of the National Science Foundation (NSF) in 2016. As part of President Obama’s CS for All initiative, we received an EAGER grant to accelerate the development of NetsBlox. NetsBlox is also being used in another new NSF project, a collaborative effort with Stanford and SRI. The team led by our own Prof. Gautam Biswas is developing tools and curriculum to revolutionize high school physics education.

Feel free to try out NetsBlox at http://netsblox.org. Be sure to check back regularly throughout the spring for updates on the progress we’re making. I also encourage you to engage with us by leaving comments or asking questions in the space provided below.


One Comment on “Putting NetsBlox in the Classroom at Vanderbilt”

Professor Akos Ledeczi: My name is George Martinez. I’m a freshman at City College of San Francisco. I would like to know if you or any of your colleagues have published any tutorials and manuals in order to learn how to program with NetBlox. I’m already learning the basics using UC Berkeley’s curriculum for Snapp.
Thank you sir and have nice day.
My email: jmart354@mail.ccsf.edu

George Martinez on March 5th, 2018 at 4:26 pm

Leave a Reply

Back Home   

Recent Posts

Browse by Month