
NSF Org: |
CNS Division Of Computer and Network Systems |
Recipient: |
|
Initial Amendment Date: | August 23, 2016 |
Latest Amendment Date: | August 23, 2016 |
Award Number: | 1644848 |
Award Instrument: | Standard Grant |
Program Manager: |
Janice Cuny
CNS Division Of Computer and Network Systems CSE Directorate for Computer and Information Science and Engineering |
Start Date: | September 1, 2016 |
End Date: | August 31, 2019 (Estimated) |
Total Intended Award Amount: | $299,798.00 |
Total Awarded Amount to Date: | $299,798.00 |
Funds Obligated to Date: |
|
History of Investigator: |
|
Recipient Sponsored Research Office: |
110 21ST AVE S NASHVILLE TN US 37203-2416 (615)322-2631 |
Sponsor Congressional District: |
|
Primary Place of Performance: |
2301 Vanderbilt Place Nashville TN US 37235-0002 |
Primary Place of
Performance Congressional District: |
|
Unique Entity Identifier (UEI): |
|
Parent UEI: |
|
NSF Program(s): | STEM + Computing (STEM+C) Part |
Primary Program Source: |
|
Program Reference Code(s): |
|
Program Element Code(s): |
|
Award Agency Code: | 4900 |
Fund Agency Code: | 4900 |
Assistance Listing Number(s): | 47.070 |
ABSTRACT
Vanderbilt University is building a new collaborative learning environment, called NetsBlox, which extends Snap! with a few carefully selected abstractions that will enable high school students to create distributed applications. In today's interconnected world, it will become increasingly important to have a basic understanding of computer networking and distributed computation yet these topics are rarely covered in K-12 curricula. NetsBlox makes that possible with well-designed visual programming primitives, an intuitive user interface and a sophisticated cloud-based infrastructure.
The project aims to find the right programming primitives that are simple enough for students to grasp yet powerful enough to enable them to build non-trivial distributed applications. The abstractions must not hide too much detail and complexity, so students can understand the important underlying concepts. The abstractions must build on each other and on existing concepts in Snap! to present a gradual introduction to the intricacies of the domain. Additional challenges include devising sophisticated collaboration support to enable pairs or teams of students to work together remotely, making it possible for students to run part of their code in the cloud, and identifying and creating the right services, such as a seamless interface to the Sloan Digital Sky Server and Twitter, that will make learning with NetsBlox engaging and motivating. Moreover, the computing infrastructure will be enhanced to be highly scalable, serving serve a potentially global user base and making the end-user programmable environment exceptionally robust to support novice users. Finally, the project will create corresponding novel curricular components.
PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH
Note:
When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external
site maintained by the publisher. Some full text articles may not yet be available without a
charge during the embargo (administrative interval).
Some links on this page may take you to non-federal websites. Their policies may differ from
this site.
PROJECT OUTCOMES REPORT
Disclaimer
This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.
The primary result of the project is a novel, web- and cloud-based, open source, visual programming environment called NetsBlox (https://netsblox.org). The block-based language extends the visual formalism of well-known environments such as Scratch or Snap! by a few carefully selected abstractions. Fundamentally, NetsBlox makes it possible for the students to create distributed programs which can run on multiple computers and communicate with each other. Educationally speaking, this fundamental enhancement is designed to more thoughtfully engage students who are very familiar with many distributed applications including: online shopping, texting, Netflix, Spotify, Siri, Google Maps, social networks, Alexa, self-driving cars, home security systems, online multiplayer games and many others. While the underlying technologies behind these applications are ubiquitous, they are only taught to computer science majors in college today. NetsBlox makes it possible to introduce the fundamental concepts at a level accessible in upper middle and high school when students are most likely to opt out of STEM fields of study. At the same time, it also makes computer science more engaging and relevant.
What kinds of projects can students create? Through one of the distributed computing abstractions called Remote Procedure Calls (RPC), NetsBlox provides access to a large set of online data sources, such as Google Maps, air quality information, weather data, NOAA climate data, USGS historical earthquake information, the Movie DB, Twitter, stock quotes and many others. Using RPCs, NetsBlox also provides services such as charting and cloud variables. Students can create a wide variety of projects such as displaying past earthquakes on an interactive world map, charts showing atmospheric concentration of CO2 and temperature anomalies for the past 800,000 years from Antarctic ice cores, or showing the photos of the top cast members of any movie based on its title.
The other distributed computing feature NetsBlox supports is message passing. With it, students? programs can communicate with each other facilitating projects such as a chat room for the entire class or a shared whiteboard for a group of students, as well as online multiplayer games like Tic Tac Toe, Pong, Chess or Battleship. In turn, they can use their computers or the NetsBlox player app on their mobile device to play their games against each other (or show them to their parents).
NetsBlox also works with robots to create and even more hands-on learning experience. Student programs can send wireless commands to drive WiFi-enabled robots, which can reply with messages containing acknowledgements or sensor values. Because the NetsBlox framework enables this wireless communication to be intercepted by other users, students can eavesdrop on their peers, interfere with the operation of others? robots or even completely hijack their control. This element drives the curricular component on cybersecurity. In turn, the project created a curriculum for a week-long cyber camp where students learn the basics of cybersecurity by programming their robots, solving challenge problems and participating in robot races. With additional support from the National Security Agency, five such camps were delivered to about 90 students total (about half of whom were from underrepresented groups) and 10 teachers. The pre and post tests and surveys clearly showed that the content mastery learning gains were significant while student engagement metrics were off the charts.
NetsBlox supports online collaboration similar to how people work in Google Docs. Students can create shared projects and work together from their own computers regardless of their proximity to their peers who may be sitting next to them or on the other side of the world. Collaboration support enables group projects and focus on teamwork which is also an important skillset in the 21st century workplace.
In addition to the cyber camps, several other studies were conducted in different K12 settings. Similar to the camps, the evaluation of these programs showed statistically significant learning gains in computational thinking and most of the implementations showed learning gains in such advanced concepts as computer networking and concurrency. NetsBlox has been in active use at two introductory computer science classes at Vanderbilt for several years reaching over 600 students. So far, over 5000 unique users have tried NetsBlox and we have trained over 200 teachers to enable them to continue to reach more students each year.
All lesson plans, tutorials, documentation, example projects, source code and publications are available on the project website (https://netsblox.org). For more information, check out a brief video that introduces NetsBlox: https://stemforall2018.videohall.com/presentations/1088, or another that describes the cyber camps: https://stemforall2019.videohall.com/presentations/1343.
Last Modified: 11/18/2019
Modified by: Akos Ledeczi
Please report errors in award information by writing to: awardsearch@nsf.gov.