NetsBlox (https://netsblox.org) is an open-source web- and cloud-based visual programming environment. NetsBlox extends Snap! by adding the capability of networking using carefully selected abstractions enabling distributed programming at a level accessible to novices. Hence, students can write multi-player games such as Tic Tac Toe, Pong or Battleship and other truly distributed programs such as a shared white board or a chatroom app. NetsBlox also opens up the internet with its vast array of public domain scientific data sources making it possible to create STEM projects, such as displaying seismic activity anywhere on Earth using an interactive Google Maps background. Similarly, weather, air pollution, the Open Movie Database and the Sloan Digital Sky Server are all accessible to NetsBlox programs. The tool supports collaborative program editing similar to how Google Docs work. This opens up new ways of project-based learning as well as enables pair programming even when students are not sitting at the same table. Another unique feature is the ability to replay the creation history of any programs via a YouTube like interface. Teachers and researchers now have the ability to study the process a student went through while working on a project and not just look at the final product. We have also developed and tested corresponding curricular modules teaching distributed computing and computer networking. They have been piloted in various summer and after school programs at the high school level and we have just finished a full semester course in a local middle school.