1. Akos Ledeczi
  2. http://www.isis.vanderbilt.edu/akos
  3. Professor
  4. CSforAll: EAGER: NetsBlox: Visual Programming Environment for Teaching Distributed Computing Concepts
  5. https://netsblox.org
  6. Vanderbilt University
  1. Brian Broll
  2. CSforAll: EAGER: NetsBlox: Visual Programming Environment for Teaching Distributed Computing Concepts
  3. https://netsblox.org
  4. Vanderbilt University
Public Discussion

Continue the discussion of this presentation on the Multiplex. Go to Multiplex

  • Icon for: Akos Ledeczi

    Akos Ledeczi

    Lead Presenter
    Professor
    May 13, 2018 | 11:35 p.m.

    We hope you enjoyed this short introduction to NetsBlox. This is really just a glimpse into what kind of engaging projects students can create with it. For more information, visit the project web page where you can find additional videos, documentation and many sample projects. For example, you can watch the eclipse project in action and click on any of the weather stations for a plot of the temperature at the given location.

    We are not slowing down. Since the creation of the video we have added support for stock quotes and even Google Street View (you need a computer with Chrome as mobile device support is not all the way there yet)

    Please, provide feedback on what other services you would like to see. Thank you.

    Akos Ledeczi

  • Icon for: Alan Peterfreund

    Alan Peterfreund

    Facilitator
    May 14, 2018 | 12:47 p.m.

     Interesting tool.  How are teachers introducing this into their classes?  What have you found to be any pre-requisite skills or knowledge?

  • Icon for: Brian Broll

    Brian Broll

    Co-Presenter
    May 14, 2018 | 03:54 p.m.

    Thanks! As we extend Snap!, NetsBlox can be used with any curriculum designed for Snap! (such as The Beauty and Joy of Computing course). This makes it possible to introduce the environment and basic programming concepts just as one would with Snap!.

     

    We have found RPCs to be a good way to begin introducing distributed computing in the classroom. Remote Procedure Calls are very simple to use and can be used like any other primitive block. We usually start with the GoogleMaps service and develop an app which includes static map images, such as an interactive weather map. As we explain that we are retrieving the map images from GoogleMaps, we can start introducing the concept of working with other devices to achieve a goal without adding any additional complexity to the student's code.

     

    The prerequisite skills for the networking concepts depend upon the specific task or activity. Depending upon the specific RPC, the user may need to understand lists or multi-dimensional lists (if that is the expected return value of the RPC). One example of this is the Geolocation service which allows users to search for nearby places and returns a list of the place results. Each result is a list of keys and values such as ("name", "Starbucks"). The results for this RPC also include latitude, longitude, and category labels.

     

    Messages are often used to develop more advanced applications. These include mesh networks, chat rooms, and multiplayer games. There are some distributed applications which are rather simple to implement and discuss (such as chat room applications) and others which are certainly more complex (such as turn based games). Applications like the chat room application require little prerequisite knowledge (they don't even require lists) but can easily introduce concepts such as denial-of-service attacks and encryption. In the classroom, we usually start with some of these simpler applications and then progress into variations requiring more involved protocols and coordination.

     
    1
    Discussion is closed. Upvoting is no longer available

    Alan Peterfreund
  • Carla Swenson

    K-12 Teacher
    May 15, 2018 | 10:14 a.m.

    I would love to see this adapted for K-5 and put Montana on the map!

  • Icon for: Akos Ledeczi

    Akos Ledeczi

    Lead Presenter
    Professor
    May 15, 2018 | 09:40 p.m.

    We tried the unit from the video (interactive map background with current weather conditions anywhere on Earth) in four 5th grade science classes and it went very well. Here is a step by step description of the unit: https://www.dropbox.com/s/zmb6ya5dw9mxy2b/NetsB...

  • Icon for: Angie Kalthoff

    Angie Kalthoff

    Facilitator
    Technology Integrationist
    May 15, 2018 | 07:35 p.m.

     Can you expand on classroom use? I see that it can be used with any curriculum designed for Snap! How have students reacted to the added features? 

  • Icon for: Akos Ledeczi

    Akos Ledeczi

    Lead Presenter
    Professor
    May 15, 2018 | 09:44 p.m.

    So far, we used it in week-long summer camp settings between 7th and 11th grade. I am also using it during the first two weeks of my intro programing course for freshmen at Vanderbilt. And we are in the process to adopt the Berkeley BJC course as a new CS1000 course for non-majors at Vanderbilt in the Fall and NetsBlox will be the primary tool. This paper has a three-page summary of the results we saw in the summer camps: https://www.dropbox.com/s/ita0d5tmku13ir9/A-vis...

  • Icon for: Karthik Ramani

    Karthik Ramani

    Facilitator
    Donald W. Feddersen Professor of Mechanical Engineering
    May 15, 2018 | 10:43 p.m.

    Nice exposition of RPC and simple distributed programming concepts - learnt hands on. The messaging means to communicate is a basic one to help learn. How do you encourage students to come up with their own concepts of using RPC to do some new things? Are they able to abstract the concepts and construct their own applications using RPC?

  • Icon for: Akos Ledeczi

    Akos Ledeczi

    Lead Presenter
    Professor
    May 15, 2018 | 11:30 p.m.

    We have only done week-long studies yet. There, the last day is dedicated for the students to create their own projects. We have seen some innovative ideas; for example, a group decided to add encryption to messaging so that nobody can eavesdrop on their conversation. Ideally, we would like to do longer term studies.

  • Icon for: Karthik Ramani

    Karthik Ramani

    Facilitator
    Donald W. Feddersen Professor of Mechanical Engineering
    May 17, 2018 | 01:19 p.m.

    Got it. Good start. The thinking in creating distributed applications is itself different from other programming constructs. This is the area where the network concepts come in. Are the students asking questions that indicate they want to learn more - what resources are their for them to reflect upon after they complete the workshop and go home? It will be good to see them gain more when they leave as opposed to okay "nice workshop" and then they forget it.

  • Icon for: Akos Ledeczi

    Akos Ledeczi

    Lead Presenter
    Professor
    May 17, 2018 | 04:00 p.m.

    They have access to NetsBlox and all their stored projects once the program is over. We have seen a few percentage of the students "stay around" and keep working on their projects afterwards. But you are correct; we need to work on better after program support. Thanks for the feedback!

  • Further posting is closed as the showcase has ended.