Welcome to the Internet Simulator Tool
for Computer Science Principles. We will be using the Internet Simulator to study
issues about how the Internet works and also how data is represented and
transmitted. I’m Brad and I’m a software engineer here
who helped build this tool. The first problem you have to solve with
the Internet Simulator is to encode a
small piece of information in a binary state and communicate to a friend using a shared wire. Let’s show you how to connect. When you first open the
simulator, if you are logged in you will see the lobby which shows you everyone else in your class who is also logged in and looking at the simulator. Identify your partner in the class list and click “join”. When you do, you will see an
outgoing connection request below the lobby. A request has been sent to Alex
asking to connect. Meanwhile, your friend will see an incoming connection request, which she can accept. Either partner can make the request to join together but,
one will make the request and the other will accept it. Once connected, you will
see yourself and your partner represented as two nodes connected by a wire. Either one of you can set the state of the wire to either state A or state B. You can do that by typing an A or a B in the send box and clicking the “Set Wire” button. That will set the state of the wire to A for the moment. We’ll explain why the graphic turns to a question mark immediately after you set the state in a minute. You can also type out the string of A’s and B’s that you want to send ahead of time and then click the “Set Wire” button repeatedly. It will take the
A or the B at the front of the line and set the wire to it. You or your friend can read the wire at any point. Clicking “Read Wire” simply records the state of
the wire at that moment in time. There is no guarantee that it will have changed
state between clicks. Of course, if you set the state of the wire, you can also read it yourself. The most important thing to know about this simulation is that the wire between you and your partner can only be set to two states, A or B. And you can’t know the state of the wire until
you choose to read it. You will have to coordinate to decide whose turn it is to
use the wire. This is the reason that you see a question mark once you have set the state of the wire. Since both you and your friend can set the state of the wire at any point, once you’ve set it there’s a possibility that your friend might also set it at the same time and before either of you reads the wire. Attempting to send a message to a friend using a shared wire requires some coordination and careful timing. To help with that, we’ve included a pulse timer that you can use to help you maintain a regular pace. Click on the “My Device” tab and see the timer.
Adjust the slider to have it pulse at different rates. The timer isn’t connected to anything. It’s just a metronome,
there to help you and your partner coordinate. With a well thought-out communication protocol
and the pulse timer, you and your partner will be able to send and receive messages accurately and efficiently. Good luck!

CS Principles: Internet Simulator – Part 1
Tagged on:                     

5 thoughts on “CS Principles: Internet Simulator – Part 1

  • October 4, 2015 at 12:41 am
    Permalink

    This is a really good way to start explaining how the internet works. I am blown away with some of ways educators explain these concepts. The movie theater example for recursion will always be my favorite. I was a CS tutor and it was such a challenge coming up with good example for them was hard. You are certainly a great resource, thanks.

    Reply
  • August 9, 2017 at 1:49 am
    Permalink

    Where do we get access to the stimulator?

    Reply
  • September 11, 2018 at 6:07 pm
    Permalink

    >:(

    Reply
  • November 23, 2018 at 2:34 pm
    Permalink

    https://www.youtube.com/watch?v=bnwGuSN3o4w&list=PLjJKx-kNtT4fyBoz4uW5-n2aEQKTr0Zrf

    Reply
  • March 2, 2019 at 7:29 pm
    Permalink

    ААААААААААААААААААААААААААААААААААА

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *