diff --git a/cur/updates.html b/cur/updates.html index 679826c4e..398eb4813 100644 --- a/cur/updates.html +++ b/cur/updates.html @@ -13,7 +13,8 @@

Development Updates

-
The vocab box about abstraction should be cut down considerably. --MF, 2/9/22
-
: Abstraction -

Will they be watching a video on abstraction here? Or does Dan mention it in welcome? It feels so..abstract..here that I wonder what students will take from it. If I wasn't bound to use the term abstraction, I'd probably emphasize the benefit of reuse "When we realize we've developed a useful piece of functionality that we might want to use in other places, we can turn it into its own block." Anyway just musings from your local "abstraction" skeptic, feel free to delete. -- PF 8/20/21

I added your text at the beginning and am open to a Dan video and/or more discussion about teaching abstraction. :) --MF, 8/20/21

-

When you've developed a useful piece of code that you want to use in other places, you can turn it into its own block. This is a form of abstraction. Abstraction is an important idea in computer science. One kind of abstraction is breaking up a large problem into smaller sub-problems.

-
For example, instead of putting join (random animal) (s) into an input slot of super short story, you can create a plural of () block and put random animal in its input slot.
-

This makes your code easier to read, you can use the new block again in other places, and once the block is working, you don't need to think about how it works each time you use it.

- -
In this activity, you made a new block to use to add an "s" to the end of any word.
diff --git a/sparks/student-pages/U1/L2/06-adding-an-input.html b/sparks/student-pages/U1/L2/06-adding-an-input.html index dfbd2335f..130902c0b 100644 --- a/sparks/student-pages/U1/L2/06-adding-an-input.html +++ b/sparks/student-pages/U1/L2/06-adding-an-input.html @@ -52,6 +52,15 @@

Adding an Input to Your Block

  • Save your work
  • +
    The vocab box about abstraction should be cut down considerably. --MF, 2/9/22
    +
    : Abstraction +

    Will they be watching a video on abstraction here? Or does Dan mention it in welcome? It feels so..abstract..here that I wonder what students will take from it. If I wasn't bound to use the term abstraction, I'd probably emphasize the benefit of reuse "When we realize we've developed a useful piece of functionality that we might want to use in other places, we can turn it into its own block." Anyway just musings from your local "abstraction" skeptic, feel free to delete. -- PF 8/20/21

    I added your text at the beginning and am open to a Dan video and/or more discussion about teaching abstraction. :) --MF, 8/20/21

    +

    When you've developed a useful piece of code that you want to use in other places, you can turn it into its own block. This is a form of abstraction. Abstraction is an important idea in computer science. One kind of abstraction is breaking up a large problem into smaller sub-problems.

    +
    For example, instead of putting join (random animal) (s) into an input slot of super short story, you can create a plural of () block and put random animal in its input slot.
    +

    This makes your code easier to read, you can use the new block again in other places, and once the block is working, you don't need to think about how it works each time you use it.

    + +
    +
    In this activity, you created a new block to perform a specific task and used it in your story.
    diff --git a/sparks/student-pages/U1/L3/02-visualizing-data.html b/sparks/student-pages/U1/L3/02-visualizing-data.html index 198e17643..2d20ab494 100644 --- a/sparks/student-pages/U1/L3/02-visualizing-data.html +++ b/sparks/student-pages/U1/L3/02-visualizing-data.html @@ -9,6 +9,7 @@

    Visualizing Data

    When we revisit, I suggest renaming sort data to sort counted data (for example) as that's the only input it seems to accept. Also, we should update our block names to newer format (so the resulting expressions are sentence readable) and without all the colons. --MF, 12/10/21
    I changed every "we" on this page to "you." This is probably an issue on all the other pages, too, but this is where it really hit me hard, in "We don't need to type..." after 1.3.2.2. --bh
    +
    Consider splitting into two pages. --MF 7/22/24
    In this activity, you'll input your cleaned research data in Snap! and create a visualization of the results.

    So far, you've defined your research question, collected data, and cleaned up the data. Before you can analyze your data, you'll need to import the data into Snap!.
    @@ -153,7 +154,7 @@

    Visualizing Your Results

    1. Click on the block to see your pictograph. It should show up on the stage instead of in a bubble, since this is a command block. A command block changes something about the environment, like drawing on the stage, but doesn't directly report a value.
    2. -
    3. Talk with Your Partner How does it look? Is your data as clean as you hoped? You can still clean up data now, if the graph has made some messy data more obvious than before.
    4. +
    5. Talk with Your Partner How does it look? Is your data as clean as you hoped? You can still clean up data now, if the graph has made some messy data more obvious than before.
    diff --git a/sparks/student-pages/U1/L5/01-numbers-computers.html b/sparks/student-pages/U1/L5/01-numbers-computers.html index 8e8d4bdd4..e24f27dbf 100644 --- a/sparks/student-pages/U1/L5/01-numbers-computers.html +++ b/sparks/student-pages/U1/L5/01-numbers-computers.html @@ -30,7 +30,8 @@

    Crunching Numbers

      -
    1. Open this Numbers Bits Electricity project, and save it to your account.
    2. +
      Need to update alt text on these load-save.png images throughout Sparks. --MF 07/15/24
      +
    3. Click here to load a starter project. Then save it.
    4. Build and run each of the following expressions:
        @@ -92,10 +93,17 @@

        Numbers Systems for Humans vs. Machines

        1. Talk with Your Partner Describe each of the digits and their place values for the decimal numeral 2405.
        2. +
          +

          Want to see how you might describe the decimal numeral 1023 as an example?"

          +
          +

          In the number 1023, there is a 1 in the thousands place, a 0 in the hundreds place, a 2 in the tens place, and a 3 in the ones place.

          +

          That means there is one thousand, the two tens make twenty, and then we have three. So, the number is one thousand twenty-three.

          +
          +
        -

        Instead of counting on ten fingers, computers count with only two options: on and off. So, computers store numbers as binary numerals. All their calculations are in binary. They convert the decimal numerals we use to interact with computers into binary numerals before performing any calculations.

        +

        Instead of counting on ten fingers like people, computers count with only two options: on and off. So, computers store numbers as binary numerals. All their calculations are in binary. They convert the decimal numerals we use to interact with computers into binary numerals before performing any calculations.

        : Binary Numerals

        A binary numeral is part of the base 2 system.

        @@ -120,7 +128,15 @@

        Numbers Systems for Humans vs. Machines

          -
        1. 39
          Talk with Your Partner Find the decimal representation for the binary numeral 100111.
        2. +
        3. + Talk with Your Partner +
            +
            13, 39, 56
            +
          1. Find the decimal representation for the binary numeral 1011.
          2. +
          3. Find the decimal representation for the binary numeral 100111.
          4. +
          5. Find the decimal representation for the binary numeral 111000.
          6. +
          +
        4. Need help reading binary?
          @@ -139,10 +155,13 @@

          Numbers Systems for Humans vs. Machines

        -
        I think the above "reading" exercise should include a few more numbers and the below ITIT needs more support for writing in binary. --MF, 9/22/21
        1. Try writing a number in binary and see if a friend can convert back to your original number. If they have trouble, go through both calculations (yours and theirs) together. If they succeed in finding your original number, try a bigger number!
        2. +
        3. + Talk with Your Partner + Try writing out all the binary numerals from 1 to 16. What do you notice? +
        diff --git a/sparks/student-pages/U1/L5/02-bits-electricity.html b/sparks/student-pages/U1/L5/02-bits-electricity.html index 5d8d21113..0e96accab 100644 --- a/sparks/student-pages/U1/L5/02-bits-electricity.html +++ b/sparks/student-pages/U1/L5/02-bits-electricity.html @@ -35,13 +35,15 @@

        Storing Numbers in Bits

    Storing Bits as Electricity

    -

    You might be wondering what the ones and zeros look like inside the computer, but actually, computers don't really store the digits 0 and 1. Computers store data using electricity. Generally, a 1 is stored as a positively charged electric signal and a 0 is stored as no charge at all.

    -

    - For example, the memory of your computer most likely stores bits by storing charge in a capacitor. Here are some capacitors of varying sizes:
    -

    Wikipedia claims image is in public domain: https://commons.wikimedia.org/wiki/File:Electronic-Component-Elec-Capacitors.jpg
    +

    Words and images are stored as numbers, and numbers are stored with bits (ones and zeros). You may be wondering what the ones and zeros look like inside the computer, but computers don't actually store the digits 0 and 1.

    +

    Computers store data using electricity. Generally, a 1 is stored as a charged electric signal and a 0 is stored as no charge. For example, the memory of your computer most likely stores bits by storing charge in a capacitor.

    +
    +

    Capacitors store energy in an electric field (such as between two metal plates). Here are some capacitors of varying sizes:
    +

    Wikipedia claims image is in public domain: https://commons.wikimedia.org/wiki/File:Electronic-Component-Elec-Capacitors.jpg
    three images of different-sized capacitors, which look like little cylinders with text and numbers on them and two wires coming out of one base -

    -

    The bits inside your computer are teeny tiny—around 20 nanometers, and a nanometer is so small that a billion of them (1,000,000,000) are in one meter! That's why computers are able to store so much information.

    +

    +
    +

    The bits inside your computer are tiny—around 20 nanometers, and a nanometer is so small that a billion of them (1,000,000,000) are in one meter! That's why computers are able to store so much information.

    For the binary number 1010, we could imagine the computer storing it like this:
    four drawings of capacitors with charges: +, none, +, none diff --git a/sparks/student-pages/U1/L5/05-caesar-cipher.html b/sparks/student-pages/U1/L5/05-caesar-cipher.html index 70745f6d1..9f8543be9 100644 --- a/sparks/student-pages/U1/L5/05-caesar-cipher.html +++ b/sparks/student-pages/U1/L5/05-caesar-cipher.html @@ -33,7 +33,7 @@

    Exploring Unicode

    unicode (66) as letter reporting 'B'

    - You can right-click (or control-click on a Mac) either block and select "help..." from the down-down menu to see more details of how the block works.
    + You can right-click (or control-click on a Mac) either block and select "help..." from the drop-down menu to see more details of how the block works.
    unicode of block with dropdown menu open showing 'help...' menu-item selected unicode as letter block with dropdown menu open showing 'help...' menu-item selected

    diff --git a/sparks/student-pages/U2/L1/02-visualizing-loops.html b/sparks/student-pages/U2/L1/02-visualizing-loops.html index f457ac0bb..1795ff307 100644 --- a/sparks/student-pages/U2/L1/02-visualizing-loops.html +++ b/sparks/student-pages/U2/L1/02-visualizing-loops.html @@ -18,7 +18,7 @@

    Using Visible Stepping

  • Set Up Your Headphones or Speakers Open this Für Elise Example Song, click the Visible Stepping button (Visible Stepping button with two footprints), click the script to play the song, and watch how Visible Stepping shows how the program moves through the nested repeat blocks.
    -

    It feels like Snap speeds up the playback in each subsequent repeat, maybe due to having the audio cached? I felt like it was getting faster and faster. Not sure if thats in my head or not! Also, another Snap music bug- it seems like the final note sometimes persists for way longer, perhaps related to me being in a separate tab. -PF 3/3/22

    Yes, that's by design. ;) There is a change tempo block inside the repeat. I was hoping that students would discuss this script and realize what is happening. I do generally experience weird sound stuff, but not a long last note; I get shortened first notes! I believe Michael thinks that has to do with the way sounds are implemented. --MF, 3/6/22

    TODO: change set tempo to 60 instead of 100 so it builds up more slowly. --MF, 7/6/23

    +

    It feels like Snap speeds up the playback in each subsequent repeat, maybe due to having the audio cached? I felt like it was getting faster and faster. Not sure if thats in my head or not! Also, another Snap music bug- it seems like the final note sometimes persists for way longer, perhaps related to me being in a separate tab. -PF 3/3/22

    Yes, that's by design. ;) There is a change tempo block inside the repeat. I was hoping that students would discuss this script and realize what is happening. I do generally experience weird sound stuff, but not a long last note; I get shortened first notes! I believe Michael thinks that has to do with the way sounds are implemented. --MF, 3/6/22

    TODO: change set tempo to 60 instead of 100 so it builds up more slowly. --MF, 7/6/23

    Click for an example of visible stepping in action.

    @@ -44,19 +44,21 @@

    Looping Your Song

    Repeating the same set of commands (such as with repeat or forever) is called looping or iteration.

    -
  • If you haven't already, try using the repeat () {} block to repeat a note or a sequence of notes in a song. Play your song with Visible Stepping turned on.
  • +
  • + If you haven't already, try using the repeat block to repeat a note or a sequence of notes in a song. Play your song with Visible Stepping turned on.
    + repeat () {} +
  • Try nesting one repeat inside another as in the "Für Elise" example above.
  • - Try using a forever block to repeat a command (or group of commands) forever, and play your song with Visible Stepping on. -
    The sequence of blocks inside the forever block will repeat until you stop it. You can click the red stop sign (red stop button) to stop all scripts in your project from running, or you can click an individual script to stop it.
    + Try using a forever block to repeat a command (or group of commands) forever, and play your song with Visible Stepping on.
    + forever +
    The sequence of blocks inside the forever block will repeat until you stop it. You can click the red stop sign (red stop button) to stop all scripts in your project from running, or you can click an individual script to stop it.
  • Now Is a Good Time to Save
  • -
    In this activity, you used iteration to repeat a set of commands. -
    What? You used iteration by repeating a set of commands, if anything. Does this box really mean "In this activity you learned the word 'iteration'"? (And, Mary, aren't you the comma minimalist in our gang?) --bh 3/3/22

    I'm not sure what the issue is here, Brian. Could you please suggest an alternative? --MF, 3/6/22

    -
    +
    In this activity, you used iteration by repeating a set of commands. diff --git a/sparks/student-pages/U2/L2/06-importing-own-images.html b/sparks/student-pages/U2/L2/06-importing-own-images.html index 7c15bb0cb..cda9a6278 100644 --- a/sparks/student-pages/U2/L2/06-importing-own-images.html +++ b/sparks/student-pages/U2/L2/06-importing-own-images.html @@ -36,7 +36,7 @@

    If you want to use an image that someone else created, check to make sure that you are allowed to use it. If you are, leave a comment in your Snap! code acknowledging the creator. You learned about adding comments in Unit 1 Lab 6 Activity 1: Texting Time.

    1. Select the stage icon or a sprite icon depending on where you want the image to go.
    2. -
    3. Drag the image file from your computer anywhere into the Snap! window.
    4. +
    5. Drag the image file from your computer anywhere into the Snap! window. (If you want to use an image from the internet, you'll need to download it first and then drag in the saved image file.)
    6. Click the "Backgrounds" or "Costumes" tab, and select the new background or costume.

    diff --git a/sparks/student-pages/U2/L3/02-oscilloscope.html b/sparks/student-pages/U2/L3/02-oscilloscope.html index b7687858d..9ad80104a 100644 --- a/sparks/student-pages/U2/L3/02-oscilloscope.html +++ b/sparks/student-pages/U2/L3/02-oscilloscope.html @@ -16,7 +16,7 @@

    Creating an Oscilloscope

    Writing Code to Draw One Set of Samples

    You learned about the for each block on Unit 2 Lab 1 Activity 5: Beat Repeat.
    - There is a for each block at the core of the oscilloscope code. In order to plot the microphone volume intensity (loudness) over time, the sprite should go to each microphone volume sample.
    + There is a for each block at the core of the oscilloscope code. In order to draw a plot of the microphone volume intensity (loudness) over time, the sprite should go to each microphone volume sample, tracing our the intensities across the Snap! stage.
    for each (sample) in (microphone (samples)) {
 go to x: () y: ()
 }

    -

    As you've seen, every time microphone (samples) runs, it reports a set of samples recorded over a brief period of time. For our oscilloscope, we want to plot that set of samples across the stage, then replace it with the next set of sound samples detected, then replace it again, and so on in order to visualize the signal intensity over time.

    +

    As you've seen, every time microphone (samples) runs, it reports a set of samples recorded over a brief period of time. For our oscilloscope, we want to plot that set of samples across the stage, then replace the drawing with the next set of sound samples detected, then replace it again, and so on in order to visualize the changing signal intensity over time.

    Since we'll plot the samples across the stage horizontally, we need to keep track of how much space each sample gets on the stage.

    @@ -36,6 +36,7 @@

    Writing Code to Draw One Set of Samples

    Create a global variable called sample width to store the amount space each sample gets on the stage. Set it to the width of the stage divided by the microphone resolution (the number of values in the sample set). Click for an example of how to set the value of this variable.

    set (sample width) to (width of (Stage) / microphone (resolution))

    +

    Why set sample width to the width of the stage divided by the microphone resolution?

    Since we need to know how much space each sample gets on the stage, we need to divide up the stage width into enough pieces for all the microphone samples to fit.
  • The sprite needs to draw the set of volume samples across the stage. For each sample, the sprite should move forward horizontally (the width of one sample) and move vertically to the intensity (loudness) of that sample. Create the for each code by copying the code shown above and completing the inputs to the go to block. diff --git a/sparks/student-pages/U3/L4/01-make-it-move.html b/sparks/student-pages/U3/L4/01-make-it-move.html index 74e2a406e..54850979c 100644 --- a/sparks/student-pages/U3/L4/01-make-it-move.html +++ b/sparks/student-pages/U3/L4/01-make-it-move.html @@ -25,26 +25,26 @@

    Collect Materials

  • -

    Get Started

    Motors are one way to add movement to your projects. There are many different types of motors, including one called a servo motor.

    -
    +

    A servo motor provides position control, so it can be told to move into an exact spot. Its position can be selected from 0 to 180 degrees.

    -
    +
    1. Insert your micro:bit into the Bit Board, pins facing down.
    2. -
    3. Connect a servo to the pins on the Bit Board, making note of which pins. Use the following image as reference for setup.
    4. -
    -
    +
  • Connect a servo to the pins on the Bit Board, making note of which pins. Use the following image as reference for setup.
  • + + - labeled diagram on how to set up microbit with Bit Board +
    The direction you plug things in matters! The LEDs on the micro:bit should be facing out when plugged into the Bit Board. The colors of the servo wire should match the colors of the pins on the Bit Board. And if you are using the battery pack, the red wire should be plugged in to the "+" side and the black wire should be plugged in to the "-" side.
    + labeled diagram on how to set up microbit with Bit Board -
    -
      -
    1. Add the servo library in MicroBlocks by selecting Library, and then Servo.ubl.
    2. +
      +
        +
      1. Add the servo library in MicroBlocks by selecting Library, and then Servo.ubl.
      diff --git a/sparks/teaching-guide/U3/01-meet-microbit.html b/sparks/teaching-guide/U3/01-meet-microbit.html index 3a0888872..9d1edfb1d 100644 --- a/sparks/teaching-guide/U3/01-meet-microbit.html +++ b/sparks/teaching-guide/U3/01-meet-microbit.html @@ -49,6 +49,11 @@

      Unit 3 Materials

      2 batteries
      Required
      +
      USB-C to USB Adapter (no cable version)
      +
      Lab 1
      +
      1 cable
      +
      Required for computers with USB-C
      +
      Googly eyes
      Lab 2
      10 pieces
      @@ -250,6 +255,7 @@

      Activity 1: Get Ready. 

      Tips:
      • You may wish to have the micro:bits and USB cables set out for students before they arrive.
      • +
      • If your school or district blocks students from using USB, you may need to use WebUSB to set up the micro:bits.
      • Helpful links to review:
          diff --git a/sparks/teaching-guide/U3/03-game-play.html b/sparks/teaching-guide/U3/03-game-play.html index c852be893..905bd326e 100644 --- a/sparks/teaching-guide/U3/03-game-play.html +++ b/sparks/teaching-guide/U3/03-game-play.html @@ -12,7 +12,7 @@

          Lab 3: Game Play

          Trouble shooting: If students are having trouble with the circuits, have then try closing the circuit without any materials by directly connecting and disconnecting the ends of the two alligator clips and checking that their code is responding the way they would want if the circuit were closed/opened with their physical materials. If it doesn't work with the alligator clips, try checking the connection between the clips and the micro:bit board. If it does work with the alligator clips, try connecting one alligator clip at its intended connection point and touching the second clip at various points along the path of the circuit to identify the problem spot. (Also need to be clear about what a circuit is and what matters/doesn't matter in setting up the aluminum foil, etc.) --MF, 7/27/23

    -

    Students pair up to create their own games to play with other classmates. They can just the micro:bit or additional craft materials (see Activity 1 for details). Students are introduced to variables and the input/output (I/O) pins on the hardware. After completing their games, students introduce their projects to one for feedback to iterate on their design.

    +

    Students pair up to create their own games to play with other classmates. They can use only the micro:bit or also additional craft materials (see Activity 1 for details). Students are introduced to variables and the input/output (I/O) pins on the hardware. After completing their games, students introduce their projects to one for feedback to iterate on their design.

    Submit Feedback