Kids, Code, and Computer Science 2020 Tilliwig Award Winner
m z n bea
2020 Academics' Choice Award Winner
e n i z aga
e d i u G t f the i G M A E T S 0 2 0 2
October 2020
$6.00 USD $6.00
How Did WiFi Get Its Name? SketchUp a Paper House Storing Data in Space
beanz magazine October 2020: Volume 8 Issue 2 Issue 50 (online) & 33 (print) ISSN: 2573-3966 (online) ISSN: 2573-3958 (print) beanz Magazine© is published bi-monthly, six times a year, online at http://beanzmag.com and in print. A print + online magazine subscription includes online access to all articles, with links to let you explore topics in more detail. SUBSCRIBE: visit http://beanzmag. com/subscribe or email us for checks/ invoices. We’re also available through EBSCO, Discount Magazine, WT Cox, Magazine PTP, and many other subscription services. ONLINE MAGAZINE ACCESS: send your email address to hello@beanzmag.com and we’ll set you up. Published by Owl Hill Media, LLC 378 Eastwood Rd, Woodmere, NY 11598 Email: hello@beanzmag.com Phone: (646) 553-3390 POSTMASTER: Send address changes to Owl Hill Media, LLC, 378 Eastwood Rd, Woodmere, NY 11598. Periodicals postage paid at Woodmere, NY and other mailing offices Copyright Owl Hill Media, LLC with all rights reserved except as noted. Images are copyrighted by their creators, as noted with each story both online and in print. Publisher/Editor: Tim Slavin Staff Writers: Erin Winnick, Amy S. Hansen, Les Pounder, Bonnie Roskes, Simon Batt, Patricia Foster, Clarissa Littler, Jennifer Newell, Tim McGuigan, Bianca Rivera, Tim Slavin Contributors: David Dodge, Jay Silver, Jeremy Kubica, Colleen Graves, Daniel Fenjves, Ali Hagen, Emeline Swanson, Jean-Francois Nguyen, Paul Seal, Madeleine Slavin Back Office Magic: Wendy Garrison Copy Editor: Eileen Seiler Art Director: Kelley Lanuto Webmistress: Patricia Foster COVER IMAGE: DA_PUGLET, FLICKR
Publisher’s Note Welcome to this issue! It’s been a very unusual year, hasn’t it? We’ve learned a lot about pandemics and how to handle them. Staying home, for example, washing your hands, and keeping at least six feet between yourself and another person. Wearing masks. While we are surrounded by technology, and a lot of technology impacts our lives, it’s what we do that keeps us healthy in a pandemic. A simple three-ply mask is the minimum technology needed. We don’t need software or hardware. Hopefully, this issue will offer a break from any Covid-19 worries. Check out our annual STEAM gift guide because the holidays are coming up! There’s a lot of fun ways to learn, from books and board games to electronics and programming. There’s also a lot of hands-on articles in this issue: a Python program that will give you writing prompts to write stories, and you'll see how to build a paper house with SketchUp software. Plus profiles of Eugene Kaspersky, a software security expert, and Grace Hopper, who among many things came up with the word debugging. Plus maybe a few surprises. The article about math proofs told me something I never knew about mathematicians. I thought they spend their days doing equations! Turns out that's only a fraction of it. Pun intended! And there’s at least one programming language to help mathematicians define their problems and find solutions. Enjoy this issue! And please stay safe.
Tim Slavin, Publisher beanz Magazine
beanz magazine (as Kids, Code, and Computer Science magazine, our earlier title) is a winner of Parents’ Choice, Tillywig, and Academics’ Choice awards: http://beanzmag.com/awards
Our Mission beanz magazine is a bi-monthly online and print magazine about learning to code, computer science, and how we use technology in our daily lives. The magazine includes hard-to-find information, for example, a list of 40+ programming languages for education, coding schools, summer tech camps, and more. While the magazine is written to help kids ages 8 and older learn about programming and computer science, many readers and subscribers are parents, teachers, and librarians who use the articles to learn alongside their young kids, students, or library patrons. The magazine strives to provide easy to understand how-to information, with a bit of quirky fun. Subscribers support the magazine. There is no advertising to distract readers. The magazine explores these topics: Basics of programming and where to learn more, Problem solving and collaboration, Mathematical foundations of computing and computer science, Computational thinking, Recognizing and selecting computer devices, and the Community, global, and ethical impacts of technology.
October 2020
2
Cover Story
History I Get the Wi, But Why the Fi?
3 6 8 10 12 14 16
Programming Roll a (Python) Story
19
Tech In Real Life For Rent: Outer Space Cover Story
Tech In Real Life Can Math Be Fun? History Kaspersky Goes (Anti) Viral Concepts Dot. Dot. Dot. Graph. Concepts Encoding 1010110010... People Amazing Grace Languages You Can Add To the Stack
23
Cover Story
STEAM Gift Guide 2020
18 20 29
Concepts What's a Bogon? SketchUp Cover Story Build a Paper House Parents and Teachers Filling the Learning Gap With PBL
Where’s My beanz? Due to the impact of the Covid-19 pandemic, we were not able to offer the print versions of the June and August issues of beanz. We appreciate your understanding and wanted to let you know we have extended print and online subscriptions by two issues. If you have questions, email us at hello@beanzmag.com.
1 contents
advanced
intermediate
beginner
scribe b u s / m mag.co z n a e b / https:/
2 History
BY SIMON BATT
I Get the Wi, But Why the Fi? You see the term “Wi-Fi” everywhere. From cafes to public transport, it seems everywhere has a free Wi-Fi connection you can use to watch videos. But what does “Wi-Fi” mean and how did the name come about? The story behind the name for Wi-Fi is a weird one. For a long time, people assumed it stood for “wireless fidelity.” This is because there was another technology out at the time called Hi-Fi, which meant “high fidelity.” However, when asked, the creators of the Wi-Fi Alliance —the overseers of how Wi-Fi works - say that Wi-Fi doesn’t actually stand for “wireless fidelity” at all. In fact, they say that they hired some people whose job was to make this new technology sound cool. These people came up with the WiFi name and logo, which the inventors liked and adopted. However, later on, the inventors were worried that people would ask what Wi-Fi meant. Of course, it was just a name that was given to them and didn’t really mean anything. To stop people asking them what it meant, they thought up the tagline “the standard for Wireless Fidelity” to clear things up. This tagline has since been dropped, but you can still see its effects on websites and businesses around the world. Sometimes they call Wi-Fi “wireless fidelity”, but that’s not what Wi-Fi stands for. So, what does it stand for? Apparently, nothing! It was a trendy name invented by people who wanted the technology to catch on. They chose the name “Wi-Fi” (which, to be fair, rolls off the tongue very well) and stuck with it. Another interesting fact is that the name “Wi-Fi” didn’t crop up until the people who invented it were trying to sell it. Until then, they called Wi-Fi by its “real name”, which is “‘IEEE 802.11b Direct Sequence” - a lot harder to say and you can’t even make an initialism out of it. Free IEE802.11bDS? Still way too long. In fact, Wi-Fi’s real name already has an initialism in it. IEEE (pronounced “eye-triple-e”, not eye-ee-ee-ee) stands for Institute of Electrical and Electronics Engineers. The IEEE is a huge group of really smart people who help advance technology for the good of mankind; including inventing all that free Wi-Fi. Thanks, IEEE. The next time you’re out with your family and friends, point to a free Wi-Fi sign and ask them if they know what it means. You’ll be surprised at how many people still think it means “wireless fidelity,” when in actual fact, the name Wi-Fi just sounds really cool. b CHRISTIAAN COLEN, FLICKR
Roll A (Python) Story
3
You may have played a writing “game” in English class called Roll a Story. A student rolls dice to select a story genre and elements (characters, setting and plot) and then writes a short story based on the outcome. We are going to create a Python program that randomly selects a genre (either Mystery or Horror) and story elements for students to create their own spooky stories. We will use the free Repl.it website to host our game program. My version of the game is at https://repl.it/@brivera/rollastory#main.py. Want your own copy of this game? First, create an account at the Repl. it website. Then go to my URL and click the Fork button, at the top of my account page with the game code, to copy the code to your account. Your Repl.it account screen will display their IDE (integrated development environment) with the program file name on the left, code in the center column, and a console in the right column. The game code has a lot going on but it breaks down into these components, which you can study on the next few pages. Functions: You will recognize a function when you see def printed in front of a variable. Functions are a block of reusable code that will run when called. Anything within the print statements can be edited. Go ahead and change my wording but leave the parentheses and quotation marks as-is. String Formatting: On line 21, we are using a Python string formatting method. By using the curly brackets { } as placeholders, we can use .format to pass the name variable to the string. Any name that the user has typed in will show up in the print statement. Random Module: The function genre_roll() on line 24 makes use of the random module we imported. Notice the variable genreNum equals a number that is produced from the random module and that the range is between 1-3. Players only have two options for a genre – Mystery or Horror, so why is the range 1-3? Because when it comes to the randrange method, Python includes the first number and up to, but not including, the last number. Dictionaries: On line 29 is another important concept in Python that is a timesaver—a dictionary. Python’s dictionaries pair up keys and values. In this example, the dictionary key 1 has a value MYSTERY and the key 2 has a value HORROR. Loops: Players can replay the game if they don’t like their randomly selected options. A while loop is set up which will continue to run the functions genre_roll(), gen() and parts() as long as the user types the letter “y” for yes. If the user types in ‘n’, the program prints off a goodbye statement. The black columns on this page and the following two pages show how all functions, string formatting, and other elements are put together in code.
Follow the red dashed line!
Programming
BY BIANCA RIVERA
4
All of this code can be found at https:// repl.it/@brivera/ rollastory#main.py where you can press the Run button at the top of the Repl.it interface to run the code or click the Fork button to save the code to your own Repl.it workspace.
Notice how comments are in green, variables and function names are white, and other white patterns which help make reading the code easier. Also notice how the function definitions (the blue def lines of text) have a thin line below them to show all the code included in the definition.
5
Using OOP—Object Oriented Programming, this program could be more concise and you could easily add additional story elements to make the game more robust. OOP can also be used in other popular languages and should be the next step in your programming journey. In the meantime, be sure to visit https://repl.it/@brivera/ rollastory#main.py and try out my Roll a Story generator for yourself! Or create your own Repl.it account then make a copy by clicking the Fork button on my rollastory page.
b
6 TechLanguages In Real Life
BY CLARISSA LITTLER
Can Math Be Fun? Over the last few decades, computers have had a massive impact on how mathematics is done. Now, you might hear that and think, "yes, of course, computers can do stuff with numbers fast" and that is true but not what I'm talking about. No, I mean something a little weirder and more interesting. To start, though, I need to talk about what mathematicians actually do. Mathematicians mostly don't deal with numbers as such, at least not doing things like adding and multiplying numbers. Mathematicians study the structure of things. They answer questions like "how would geometry work if there are 10 axes of movement instead of three?" or "do all algebra equations have solutions?" Sometimes mathematicians tackle problems like these out of idle curiosity, and sometimes because it's inspired by real world problems: for example, weird problems in geometry are important to physicists while finding algorithms to factor big numbers into primes matters a lot to computer security. Instead of number crunching, mathematicians tend to write proofs. A proof to a mathematician is a lot like performing experiments in science. It's the way they figure out if they're right. A proof, though, is also like an argument to convince someone. Here's an example of a very simple proof. Proof that there's no largest number: • Suppose that there was a number, let's call it n, that's the largest number. If it's the largest
number, then no other number can be bigger than it. • But, we also know that we can always add one to any number. • And, we know that n+1 is bigger than n, so n can't be the largest number. • If no number can be the largest number, then clearly there is no largest number. Hopefully that makes it clear what I mean when I say that proofs are arguments. They're ways of demonstrating something is true by thinking about it and using rules that we already know are true to show something else is true. I’m including two examples, but I don’t expect them to make sense. I just want you to be able to see them and note that they both look different than other programming languages, but still are programming. Here's the proof above in the language Isabelle:
theorem no_biggest: "¬ (∃ n::nat. ∀ m::nat. n > m)" proof (rule notI) assume h1: "(∃ n::nat. ∀ m::nat. n > m)" then obtain x::nat where p:"∀ m::nat. x > m" by blast hence "Suc x < x" by blast thus False by auto and here in the language Agda: ≡Not< : {x y : nat} -> x ≡ y -> ¬ (x
< y) ≡Not< refl (lt2 l) = ≡Not< refl l no-biggest : ¬ (Σ[ n ∈ nat ] ((m : nat) -> m < n)) no-biggest ⟨ n , p ⟩ = ≡Not< refl (p n) This is a very strange kind of
programming. It's some of the weirdest, most difficult, and most fun, programming I have ever done in my life. The program runs and produces a proof in the form of a data structure that represents the reasoning steps of the proof. This isn't the only way computers have helped mathematicians write proofs. An early example was the proof of the four color theorem. Basically, the question was whether you could take any map—no matter how weird you drew it—and use no more than four colors to color in all the countries on the map without having the same color touching. The four-color problem sounds reasonable but was very very hard to prove. A breakthrough came in the 1970s when mathematicians figured out that if they could prove the four-color theorem worked for about 2000 cases, then it would work for every possible map. But checking those 2000 cases? That would have taken years and mathematicians get bored very easily. Do you know who doesn't get bored? A computer. So, they used a computer to check each of these nearly 2000 cases. It still took the equivalent of about 40 days. I've been stressing that these techniques are weird and hard, because they are, but it might also make you wonder "why would a mathematician want to do them?" Mostly because it helps make math an experimental field, where you try things out and prototype ideas like any other programmer would. That’s exciting and I think will help make math more accessible for everyone. b
7
Prove It!
WIKIMEDIA COMMONS
8 History
BY SIMON BATT
Kaspersky Goes (Anti)
The Kaspersky Labs Building in Moscow, Russia
How many different kinds of antivirus programs do you know of? You may have heard of one called “Kaspersky Labs,” which is both free and really good at keeping the nasties out of your computer. Did you know, however, that “Kaspersky” is someone’s name? Eugene Kaspersky, the creator of Kaspersky Labs was born October 4th, 1965 in Russia, which at the time was called the “Soviet Union.” He was really interested in math as a child, reading lots of math books and winning second place at a math competition when he was 14. Because he was so smart, he
decided to enroll with the Russian military at 16 to help create software for them. Things were going smoothly, until one day, in 1989, his computer at work got hit by a virus. This virus was called “Cascade,” because it had the funny effect of making text ‘fall down the screen’ into a pile at the bottom. Of course, this was fun to watch, but Eugene couldn’t get any work done with all his text dripping away. As such, he began looking at how Cascade worked, then developed a program that would take out the virus in any computer
that was infected by it. He really enjoyed making the Cascade antivirus, mainly because he loved math and technology so much. As a result, while he was still working for the military, he spent his spare time looking for other prominent viruses that lurked on networks and creating solutions for them. He bundled all of these solutions into one big antivirus that contained 40 different tools for removing viruses. He didn’t sell this program just yet; all he did was give it to friends so they could stay safe. However, there was no doubt that people
9
Viral
Programmers at work inside Kaspersky Labs, above. Eugene Kaspersky, below
would be interested in buying this program. He decided that, perhaps, he could make a business out of this neat tool. In 1991, Eugene convinced the military to let him leave early. At first, he had to take a job at a computer company called KAMI while he and his friends worked on the antivirus. Here, he released a program called “Antiviral Toolkit Pro” for people to buy. Progress was good, but wasn’t enough for Eugene to leave KAMI and make his own company just yet. However, in 1994, the Hamburg University in Germany awarded
Antiviral Toolkit Pro first place in an antivirus competition. This led to a flood of people buying Antiviral Toolkit Pro, and in 1997, he founded his own company. These days, Kaspersky is still leading the company he made. What was once a group collaboration with friends has now become a company with over 2,800 employees. His antivirus is still around for people to download and is totally free, too. The main message from this story, however, is how small hobbies can turn into big things. It’s easy to assume that big companies
“appear out of nowhere;” one day they’re not there, and the next, they’re a huge chain. However, do you think that, when Eugene was making the program to stop Cascade, he thought his actions would one day make him billions? Probably not. Eugene’s story is a good reminder that hobbies, no matter how small or insignificant they seem at the time, may evolve into something much grander. As long as you’re passionate about it, who knows what the future holds for you? b
ALL IMAGES FROM WIKIMEDIA COMMONS
Concepts
10
BY JENNIFER NEWELL
Dot. Dot. Dot. Graph. As a way of defining relationships between objects or structures, famous mathematician Leonhard Euler developed what is now known as graph theory. Analyzing graph theory can get complicated fairly quickly, but there are quite a few fun games that we can play that involve this branch of mathematics. One such game is called Sprouts. It was invented by John H. Conway and Michael S. Peterson, both at the University of Cambridge in the United Kingdom. Possibly because it can be enjoyed by children on up through highly analytical adults, Sprouts quickly became a popular game. Want to give Sprouts a try? Grab a pencil, paper, and a friend. Draw as many dots as you like on the
A
paper (between 3 and 6 is good for the first round). We will use four dots in our example: A The first player starts by connecting any two dots. She could also choose to draw a loop that starts and ends on the same dot. The two images below (B and C) show valid moves. The first player then makes a new dot somewhere toward the middle of the line/curve she just drew (it doesnâ&#x20AC;&#x2122;t matter exactly where). D Now it is the other playerâ&#x20AC;&#x2122;s turn to connect two dots (or loop around one dot), and place a new dot toward the middle of the connecting line. Play continues as such, with just two rules: A dot can never have more than
C
three lines attached to it Lines are never allowed to cross one another. Here are possible moves for the next three plays (E and F and G): The last person who is able to draw a line between dots without crossing another line or exceeding three lines attached to any one dot wins. After continuing our example for quite a few rounds, we are left with the following situation in which there are no more possible plays. H When we play Sprouts, we are actually creating a graph. And just as graphs made from nodes and edges help software engineers analyze a problem, we can analyze our game. For example, we might wonder if it is possible to make a game of
E
F
B
D G
11
of moves by one. Since we start with a given number of possible connections and reduce that number by a total of one with each move, eventually the game must end. We can use similar approaches to figure out the most possible moves in a game, the least possible moves, and even whether the first or second player has an advantage. Sprouts is just one of many fun games that have a foundation in graph theory. Games such as Ticket to Ride, Settlers of Catan, Hex, and Sim (a pencil and paper game) can all be represented and analyzed using graph theory. Want to learn more? See the online version of this story at beanzmag.com, URL on the back cover of this issue. b
H
J
I
K
WIKIMEDIA COMMONS
Sprouts continue on forever without an end. To answer this think about a relatively small game of Sprouts that starts with two nodes. I Each node has the possibility of connecting to three edges. J But once we connect the two dots with one edge, we eliminate two of our six original moves. Next we add a new node to our connection. This node is already connected to two nodes, so it has just one more connection left. K All in all, after our first move, we have eliminated two possible moves and added one new move, leaving a total of one less move than we started with. This continues as the game is played, with each move reducing the total possible number
D Like o You My Hat ?
Who Was Leonhard Euler? As sure as one plus one equals two, Swiss Physicist Leonhard Euler (pronounced Oiler) was destined to become, not only a mathematician, but the most important mathematician of the 18th century, contributing to our understanding of geometry, calculus, mechanics, graph theory as well as astronomy and music. Euler’s identity, eiπ + 1 = 0, which shows a connection between the most fundamental numbers in math, is considered to be the height of mathematical beauty. Did you know, however, that toward the end of his career, Euler went blind? But, that did not stop him. In fact, when he lost sight in one eye, he was quoted as saying, “Now I will have less distraction.” While totally blind, he completed a comprehensive theory on the moon’s motion, with all of the analysis done in his head. Wow. You might recognize some of Euler’s closest mathematician friends like Johann Bernoulli, whose work has application in the modern function of carburetors and airplane wings. His other bestie, PierreSimon Laplace, who proved the stability of the solar system, was a big supporter of Euler, urging others in the field to "Read Euler, read Euler, he is a master for us all". b For more: https://beanzmag.com//leonhard-euler
KELLY SIKKEMA, UNSPLASH
12 Concepts
BY CLARISSA LITTLER
Encoding 101011001
When programmers and computer scientists say "data" they mean basically everything that can be stored on a computer or transmitted across the internet. At the end of the day, this data is always just a sequence of millions—sometimes billions and occasionally trillions—of bits, ones and zeros. But these ones and zeros aren't just in some random order. They're an encoding of data, a way of converting things like pictures, songs, etc. into ones and zeros in a consistent, efficient way so that they can be understood later by video players, web servers and things like that. Some encodings are super simple. The old-school ASCII text standard just assigned every letter, number, and symbol on the
keyboard a 7-bit number, 0-127. The modern UTF-8 text encoding allows characters to be represented by 8–32 bits and covers over a million possible characters in order to better support languages other than English. Other encodings are more complex, like the aac or ogg vorbis standards for encoding music that are used when streaming. They have to encode not just the data of the music but all sorts of meta-data, like the name of the musician, song, album, and year it was made. Encodings frequently also do some kind of compression. Compression is about finding ways to make data smaller yet reconstructable, usually by removing redundancies—things
that are repeated. To make this less abstract, here's a very simple compression scheme: compress strings of digits by replacing every sequence of the same number with a pair of • how many times the number occurs • the number that's being repeated so, for example, you would compress the sequence 000222334444444448 888867777777523355 to 3032239458167715122325 which is almost half the length. If there was more redundancy you'd get even better compression, but the closer the string is to random the less compressible it is. Why is this necessary? Well, consider a 4k video on YouTube: a
13
0...
15-minute video would be about a terabyte of data, which would take—depending on your internet speed—anywhere from an hour to days to download. Well, does a 15-minute 4k video actually take days to stream? Obviously not. That's the compression at work. You might be wondering "what's redundant in video?" and the answer is quite a lot if you're thinking about it as individual frames of video, of which there are generally either 30 or 60 per second. Not much changes from one frame to the next unless the camera is swinging wildly. The backgrounds stay roughly the same, and the position of people and lighting stays roughly the same at these small slices of time. This means that you can just
ALEXANDER SINN, UNSPLASH
record what changes between each frame rather than repeat all the information. Once you know this it'll be really obvious that's what's happening when a video file breaks or gets corrupted: you'll see odd smears of some parts moving and other parts staying the same when they shouldn't be, like a hand will smear around an otherwise unchanging background. It's kinda cool, actually. Errors and corruption of data leads us to the last topic I want to hit briefly, which is error correcting code—a way of doing encoding where the program reading the data later can tell if it got damaged somehow. For example, one of the simplest error correcting schemes is to literally double every bit. So
100101 becomes 110000110011 and then you know that if you ever see a pair like 10 then something happened that caused a bit to get flipped. If you triple every bit, you can not only tell when a bit got damaged but also know what it should have been. In other words, if you see a triple of 101 you know it must have started as 111 and fix it. A lot of error-correcting codes are more sophisticated than this but they generally follow the opposite principal of compression: you add redundancy instead of removing it. This has just been a very fast overview of the topic of encoding, one of those things that is invisible to how we use computers but makes all the technology around us work. b
14
Amazing Grace
People
BY TIM SLAVIN
Grace Hopper was one of the first female programmers. She also worked as a mathematician and had an unusual career for a woman in the middle of the-20th century. As a child, she took apart seven alarm clocks before her mother finally realized her daughter would not stop until she figured out how they worked. At the end of her career, Hopper had reached the rank of Rear Admiral in the US Navy and had a ship named after her. In between, she was the third programmer hired to program the IBM Mark I (the first modern computer) at Harvard in 1944. She developed the first software compiler to translate high-level programming code into machine code that computers could understand. She taught mathematics and programming, worked in business, and helped the US Navy standardize its computing efforts. Like John Backus, the IBM project leader whose team created FORTRAN, Hopper was very approachable. When she taught mathematics at Vassar, she had her students play Bridge, a popular card game at the time, then calculate odds for different hands and outcomes. She’s also famous for introducing the idea of debugging software. Once, a moth landed on a computer and stopped the machine. Hopper teased that they had to "debug" the machine, then pasted the hapless moth into a notebook. You can still see that notebook in the Smithsonian's Museum of American History! Hopper said, “Women turn out to be very good programmers
for one very good reason. They tend to finish up things, and men don’t very often finish.” While I won’t argue the merits of this argument, Hopper is proof women can accomplish great things with technology. Born on December 9, 1906 in New York, Grace Hopper had a natural interest in math and science. Her mother enjoyed mathematics. Her father worked as an insurance broker and had a large book collection. As a child, she built odd things with her Struktiron kit of beams, nuts, and bolts, what today we call Erector sets or Lego bricks. She entered Vassar College to major in mathematics and physics. She married Vincent Hopper, an English instructor at New York University, in 1930. She started teaching at Vassar in 1930, after her honeymoon, and earned her masters and PhD at Yale while teaching. When the US entered World War II, Grace Hopper was eager to enlist. However, at age 36, Hopper was too old. And she was 15 pounds under the minimum weight of 115 pounds. And, of course, she was a woman. But in 1943 the Navy started accepting women to serve stateside to help free up men to serve at sea. Hopper took a leave of absence from teaching at Vassar, convinced the military to overlook her age and weight, and joined the WAVES, or Women Accepted for Voluntary Emergency Service. She graduated at the top of her class (no surprise) from Midshipman’s School as Lieutenant Junior Grade (JG).
Because of her advanced degrees and her teaching experience, Hopper was assigned to the Bureau of Ordnance Computation Project to help compute firing tables for naval weapons. She went to work with the IBM Mark I computer at Harvard. Built from switches, relays, rotating shafts, and clutches, the Mark I used 765,000 components and hundreds of miles of wire. The Mark I was 51 feet long, eight feet high, and two feet deep. It weighed 10,000 pounds. The basic calculating units had to be synchronized mechanically, so they were run by a 50-foot shaft driven by a five-horsepower electric motor. The Mark I had 72 words of storage and could perform three additions a second. Hopper wrote the firing tables as a set of instructions translated into binary code, zeros and ones, which the Mark I could understand. The binary code was a series of holes punched into paper tape. The computer read a punched hole on tape as 1 and no hole as 0. In 1949, she went to work for Eckert-Mauchley Computer Corporation and helped to build the first Univacs (Universal Automatic Computer). The first digital computers, Univacs used vacuum tubes instead of relay switches. It also had internal memory to hold instructions. Her original staff at EckertMauchley included four men and four women. One of her projects helped the computer translate its own codes and use pre-
ALL IMAGES ON THIS PAGE FROM WIKIMEDIA COMMONS
programmed subroutines. The A-0 compiler was the first software able to translate programming languages people use into machine code that computers can understand. Hopper also encouraged her team to share common bits of programs to reduce duplication of effort. The switches from working with the Navy and academia at Harvard to business continued for the rest of Hopper's career. She retired from the Navy many times only to be called back to active duty to work on projects and lead teams on computer projects. Throughout, she advocated ideas we now consider common sense, for example, the use of many computers instead of massive computers like the Mark I or Univac. As Hopper put it, “In pioneer days they used oxen for heavy pulling, and when one ox couldn’t budge a log, they didn’t try to grow a larger ox. We shouldn’t be trying for bigger computers, but for more systems of computers.” Or, in other words, reduce the size of the loads and get more oxen! Perhaps the most accurate description of Hopper came from Jay Elliot, who described Grace Hopper as appearing to be “‘all Navy’, but when you reach inside, you find a ‘Pirate’ dying to be released”. Whether destroying alarm clocks as a child or pasting a burnt moth into a computer log, Hopper had a genuine ability to engage people and technology. b
Clockwise from top: Grace Hopper College, formerly Calhoun College, at Yale University, New Haven, CT; Grace Hopper at the UNIVAC keyboard, c. 1960; Commodore Grace M. Hopper, USN; Grace Hopper's grave at Arlington National Cemetery, Arlington, VA; The original "computer bug" moth on display at the Smithsonian Institute's National Museum of American History, Washington, D.C.
15
16 Languages
BY CLARISSA LITTLER
You Can Add to the Let's talk about an old but really interesting language, one that's currently having a revival on small embedded hardware: Forth. Forth is almost more of a machine than a language. It's like a tiny computer with its own simple assembly language (see the past article https://www.kidscodecs. com/assembly-language/), but instead of a complex model of memory and a ton of different instructions, Forth just has one kind of memory—the stack—and a very small number of instructions. Unlike a processor, though, you can add new instructions yourself. Why learn Forth? First, it's one of those languages that will change your ideas around what a programming language can even be. The second is that it has a lot of applications in embedded systems. Embedded systems are machines that use things like Arduino microcontrollers or other low-power/low-speed/low-memory chips that aren't like what you'd put inside a computer. This includes, well, basically everything around you that uses electricity, from your keyboard to your router. Where does Forth come in? It simultaneously has an interpreter that allows for interactive development, and also is very tiny, fitting in just a few kb of storage. So how does Forth work and act? The easiest thing to do is get the Gforth interpreter (https://www.gnu. org/software/gforth/), which runs on every operating system. You can also get started with the interpreter embedded into the Easy Forth tutorial, (https://skilldrick.github.io/ easyforth/). I highly recommend this
tutorial if reading this article has whet your appetite at all. Once you have a Forth interpreter you should be looking at a simple little command line that looks like this:
do that by typing . and hitting enter, which spits out the top thing on the stack. Oh, well, actually the problem is that it has to take the item off the stack first, so you can't use it in the future. Awkward. There's a built in word that lets you print without consuming, but for fun let's pretend it doesn't exist and we can define our own word instead. Try typing : pr dup . ; This defines a new word called pr that duplicates the top thing on the stack—so you have one to spare— and then uses . to lift it off the stack and print it. So now if we try 10 10 + pr
Here, you type commands to the Forth interpreter/machine. In Forth terms, these commands are called words. Each word is separated by a space and you can put multiple words on a line. Every word does something to the memory of the Forth machine, or the stack. Picture a stack of heavy books: you can either put something on top of it or take things off the top. You can't grab something further down the stack until you've taken off all the things above it. So basic words like numbers just put a number on top of the stack. If I type 10 20 30 and then hit enter the stack is going to have 30 on top, 20 just beneath it, and 10 beneath that. Gosh it'd be nice to actually see what's on the stack, right? We can
this does what we want. Forth isn't just a weird language for systems programming; people have used it for all sorts of things like making video games (https://github. com/RogerLevy/RamenEngine) or webservers (https://bernd-paysan. de/httpd-en.html). I wouldn’t say Forth is a language that you’re going to start using as your main programming language right away. It's a small language with a small community, so you'll be largely working on your own, which is hard. On the other hand, everything you learn from Forth will make you think differently about programming, which, in turn, will make you a better programmer. If you want to read more about how Forth is weird and neat, there’s the classic book Thinking Forth that’s now available online for free: http:// thinking-forth.sourceforge.net/. b
17
Stack
LA-REL EASTER, UNSPLASH
18 Concepts
BY TIM SLAVIN
What's a Bogon? Bogons are not an evil race of aliens. A bogon is a unique IP (internet protocol) address currently listed as inactive but used by someone to login to a website or send email. Every computer on the internet has its own, assigned IP address. Thatâ&#x20AC;&#x2122;s how traffic for websites, email, and video gets to the right place. These IP addresses are handed out in blocks of many numbers. Unused address blocks, or ranges, are available publicly online and spammers and others deliberately use them. People who want to use the internet to send spam email have difficulty getting hold of IP addresses for computers to send out their emails. Looking up an unused IP address, or bogon, is an easy way to send out their traffic with a fake address. Your computer's unique IP address works like your postal address: you live on a specific street with a unique location made up of a number, street name, city, and zip code. On the internet, addresses for computers are made up of three-digit chunks separated by dots, for example, 000.000.000.000. This is called IPv4 because there are four chunks of these three-digit numbers. Currently IPv6 is being rolled out because the older numbers are all assigned. IPv6 has, you guessed it, six three-digit chunks separated by dots, for example, 000.000.000.000.000.000. If you want to see IP addresses in the wild, open command line software like Terminal or iTerm and type this command: ping yahoo.com When a few entries return in response to this command, type Control + C to stop the flow of data. (You donâ&#x20AC;&#x2122;t want to hassle internet computers.) This ping command will return lines like this one: 64 bytes from 206.190.36.45: icmp_seq=0 ttl=246 time=92.069 ms The 206.190.36.45 is the IPv4 address for yahoo.com. Or, I should say, one possible address because larger organizations sometimes use several different IP addresses depending on where their websites and applications are hosted. To combat the use of bogons, people who manage computer networks use a bogon reference list to block email and other traffic from these unused addresses. However, the list changes somewhat over time, and sometimes "good" traffic is mistakenly blocked. And, in practice, not every computer network pays attention to the bogon list. "Bad" traffic sometimes gets through. Itâ&#x20AC;&#x2122;s estimated using the bogon reference list shuts out only 60% of spam and other malicious traffic. Where did the name bogon come from? Australians were among the first to realize traffic from these fake unused IP addresses could be used to stop spam and other malicious traffic. In Australian culture, a bogon has a similar meaning as redneck in the US. But the term bogon also represents bogus networks. Bogus means fake. While bogons are not an alien race in a comic book series, there is a real-life equivalent of the Justice League out there. They are Team Cymru (pronounced kum-ree in Welsh). They don't have Superman or Wonder Woman, but they do have the neat red dragon logo you see on this page. Founded in 1998, they are a group of researchers from around the world who work on internet security issues. They also actively promote interest in and use of the bogon list and other security initiatives. b
For Rent: Outer Space The Internet of Things (IoT) is really interesting because it changes how we collect and store data. When everything is connected to the internet, you can find sensors and storage media pretty much anywhere on Earth. But what if we don’t have to be confined to Earth? What if we can send the Internet of Things...into space? That’s what one company, Loft Orbital, hopes to achieve Modern-day technology means that making computers in space has never been easier. Back when scientists were still learning about satellites, they were very expensive to build. Today, businesses can make satellites faster and for less money. They still cost millions of dollars, but they are cheaper than they used to be. There’s one problem, however. Right now, satellites tend to launch with a pre-set list of instructions to perform. Once it’s launched, that’s it— you can’t change what the satellite does. To do so would involve sending an engineer into space just to tweak with the hardware; not ideal. Loft Orbital aims to change that. They’re designing satellites which take the data centers we use here on Earth and stick them inside a satellite. Then, after it’s launched and in orbit, people can hire the servers and tailor them for their own use. In the same way, someone who rents the satellite space can upload software onto it. Of course, this isn’t done over regular internet cables, or else satellites would trail cables whenever they went. Instead, the data is beamed by a dish to the satellite, which then installs it on their server. If someone else hires the server, then the satellite can be wiped of data and have new software installed; a reusable satellite. It works just like “cloud computing,” when someone hosts a lot of servers, then rents them out to clients who then upload software to those servers. Only, this kind of technology is known as “above-the-clouds computing” (get it?). The really smart and business-y name for it is “Space-as-a-Service,” which may sound like you’re renting out Mars, but it’s just how business people talk. Loft Orbital also wants it so these satellites can ‘talk’ to one another. For example, The cool thing about this technology is that, if it takes off (no pun intended), you may one day hire a data server on a satellite. Then you can store data, play games, and do all sorts of fun things on a data center all the way up in space. Just be ready with your late homework excuses; you can’t say a dog ate your homework if you stored it up in a satellite! b
GREG RAZOKY, UNSPLASH
19 Tech In Real Life
BY SIMON BATT
20 SketchUp
BY BONNIE ROSKES
Build a Paper House For this project, all you need is SketchUp, a printer, scissors, and tape or glue. When you start modeling in SketchUp, you start with a view of Helen standing on the ground. She isn’t needed, so press E for the Eraser, and click on any of Helen’s edges. To find the starter model, go to the right side of the screen and click the 3D Warehouse icon. A In the search bar, enter “simple paper house.” The model you want is by Bonnie Roskes, and should be the first one on the list. Click the Download icon. B Click anywhere on or near the origin to bring in the house. Models from the 3D Warehouse are imported as components—a single object. But we need to “get inside” the
A
B
component to start unfolding its faces. So right-click anywhere on the house and choose Explode. C To unfold properly, each face of this house must be made into a group, so that it won’t “stick” to its neighboring faces. We’ll start with the roof faces, since they don’t contain any windows or doors. Press the Spacebar for the Select tool, and double-click the red roof face. This selects the face itself plus its surrounding edges. Then right-click on the selected face and choose Make Group. D A grouped face doesn’t look much different than a regular face. So in order to keep track of what still needs to be grouped, we’ll hide each group as it’s made. Right-click on the group you just made, and choose Hide. E
Then do the same for the green roof face: double-click to select it, make it a group, then hide it. Now both faces of the roof are hidden. F Each of the four walls contains a door, or windows, or both. So you can’t just select and group a single face - you need to select everything contained in each wall. This requires a window-selection, which means dragging from corner to corner. There are two types of selection windows: left-to-right and rightto-left. The difference: left-to-right selects everything that’s entirely inside the selection window. Right-to-left selects everything inside OR touching the selection window. It’s possible to use either type here, depending on how the model is oriented and where you drag the selection window.
F
K
C
G
M
D
H
N
E
I
J
L
O
SketchUp is a free program for 3D modeling. There is a downloadable version called SketchUp Make, which you can get at https://www.
An easy way to start is to spin the model so that you’re facing the inside of one of the walls. Then use a rightto-left selection window, as shown below, which includes or touches all doors or windows. G If you selected correctly, everything on that wall will be highlighted in blue. Right-click anywhere on this selected wall, group it, then hide it. H Then continue with the same steps for the other three walls: use a right-to-left selection window . . . I … then group and hide. When the four walls are grouped and hidden, you’ll be left with just the floor. Make a group of this face as well, but there’s no need to hide it. J Now it’s time to bring everything back. From the icons along the right, click Display. K At the top of the Display window, under Unhide, click All. L The entire house comes back, ready to be unfolded. M The Select tool will still be active. Click to select the yellow wall. N
Press Q to activate the Rotate tool. Then press the Right arrow (you don’t have to hold this key down) to orient the protractor to the red axis. Click to place the protractor at the lower right corner of the yellow wall. O Unfolding this wall requires two more clicks while in the Rotate tool. The first click is at the top right corner of the wall. Then move the cursor down to unfold the wall down to the ground, away from the rest of the house. Click again when you see 90 in the Angle field at the lower right corner of the screen. P Repeat these steps for the blue wall: Select it, activate Rotate, make the protractor red, and click three times: lower corner, upper corner, ground. Q We don’t want to leave any faces “hanging” in mid-air, so it’s important to keep faces attached when possible. So the rest of the unfolded faces will be rotated together. To select both walls and both roof faces, press Shift and click each group. Or use a rightto-left selection window. R
The gray wall will be unfolded first, then the other groups will follow. Activate Rotate again. This time press the Left arrow to turn the protractor green. Use the same three clicks to bring this wall to the ground. S Now select the three remaining unfolded faces. T With the Rotate tool, oriented in green, click the first corner on the ground and the second corner at the top of the roof. U The rotation angle isn’t 90 degrees this time, because the roof is not at a right angle. So for the third click, which completes the rotation, look for the “On Axis” popup. The angle should be around 58 degrees. V Keep going with the remaining two faces, until everything is nice and flat. W We’re looking at the inside of these groups, not the painted front sides. So to turn the whole thing upside down, select everything and activate Rotate one last time. Use either the green or red orientation, and rotate the faces 180 degrees. X
P
T
X
Q
U
Y
R
V
Z
S
W
AA
sketchup.com/download/all. The free, web-based version of SketchUp can be found online at https://app.sketchup.com/app.
21
22 To get a bird’s eye view of the unfolded house, open the Scenes window and click the Plan View icon. Y This is just one of many ways to unfold this house. You also could have walls next to all four sides of the floor, and the roof faces could be attached to different walls. Z The next steps will be familiar if you’ve ever put together paper dolls: folding tabs. Without these, assembly is pretty difficult. To add tabs, press R for the Rectangle tool. Figuring out where to place tabs requires some 3D thinking. But in this case it’s pretty easy: tabs will be placed along the four faces on the right side. Start the first rectangle where shown: AA Finish your tabs so that they go all the way around the four faces on the right side. BB Now we’re ready to print! Click the three-line icon at the very top left corner of the screen, and choose Print. CC
BB
In the Print Preview window, you can zoom to increase the model size relative to the paper. There’s also an option to print with a white background. DD Click Print to PDF at the lower right corner. The PDF will be sent to your Download folder, where you can find it and print. With a steady hand, cut around the faces and fold tabs. (If you’re very handy with scissors, or have a craft knife, you can also cut around three edges of each door and window, so that they can swing open and closed.) EE Fold each tab and wall. It’s also very helpful to cut a hole in the floor, large enough to fit a few fingers, so that you can reach in and work with the fold tabs from the inside. FF Assemble using a few drops of glue on each tab, or with tape. GG Once you understand the grouping and unfolding technique, you can apply it to more complex
models. If you want to try a harder project, search the 3D Warehouse for ”3DVinci Complex Paper House.” HH For a model like this, once you’ve grouped each face and wall, the trick is deciding how to unfold it. For example, look at the wood and brick walls - they'll overlap unless you make sure to keep them apart. Here’s one of many ways to unfold this house: II To create fold tabs along diagonal edges, you can use the Line tool (shortcut: L) instead of Rectangle. It’s actually quite tricky to figure out where the tabs go—you need to be able to identify each wall’s adjacent walls, and avoid creating “double” tabs. Not as easy as it looks! Here’s the assembled version of this house: b
HH
EE II
CC
FF
DD
GG
JJ
beanz STEAM Gift Guide 2020 These toys are OK, I guess, but the best loot is in the beanz STEAM Gift Guide!
https:// beanzmag.com/ steam-tools This resource lists all kinds of STEAM tools for kids, organized by grade level.
23
24
STEAM Books Super Cool Scientists Coloring Book By Sara MacSorley This book highlights women working in fields ranging from marine biology to technology. https://www.amazon.com/SuperCool-Scientists-Sara-MacSorley/ dp/1534662235/
How Technology Works By Dorling Kindersley Publishing This amazing book explains visually how almost every human technology works, https:// www.dk.com/us/ book/9780 241356289-howtechnology-works/
Rosie Revere, Engineer By Andrea Beaty Rosie loves making things. Her great-great-aunt Rose helps her keep going and become an incredible engineer. https://www.amazon.com/RosieRevere-Engineer-Andrea-Beaty/ dp/1419708457
The Computer Science Activity Book By Christine Liu and Tera Johnson 24 projects let you explore everything from circuits to neural networks, no computer required. https://www.amazon.com/ComputerScience-Activity-Book-Paper/ dp/1593279108
Great Barrier Thief
Magic Tree House: Midnight on the Moon
By Dr. Suzie Starfish This picture book for the younger crowd was written by an Australian marine scientist and artist. https://drsuepillans.com/books/thegreat-barrier-reef/
By Mary Pope Osborne Number eight in this book series follows Jack and Annie on a trip through time and space. https://www.magictreehouse.com/ books/125151/midnight-on-the-moon
Robots
Lift-the-Flap Computers and Coding Learn how computers and programming work. Great for all ages! https://usborne. com/browse-books/catalogue/ product/1/9570/lift-the-flapcomputers-and-coding/
Ada Lace Series By Emily Calandrelli Five books follow the marvelous Ada Lace, a third-grade scientist, powerhouse inventor, and awesome student. https://www. simonandschuster.com/books/Ada-Laceon-the-Case/Emily-Calandrelli/An-AdaLace-Adventure/9781481485982
Goodnight Exomoon This parody of the classic by molecular biologist and computer scientist Kim Arcand is both fun and introduces kids to astronomy concepts. For toddlers and younger kids. https://www. smithsonianmag.com/smithsonianinstitution/inspire-your-toddlersstem-career-goodnight-moonparody-180975520/
Robo Wunderkind
Botly For children as young as 5. Botley will have kids coding in minutes. 100% screen-free, the only coding robot that includes a 45-piece set! https://www.learningresources.com/ botleyr-the-coding-robot Little Robot Friends An easy way to get kids interested in coding and electronics. Each has their own personality. https://littlerobotfriends.com/ Sphero RVR RVR is drivable right out of the box, packed with a diverse suite of sensors, and built for customization. You can connect 3rd party hardware like Raspberry Pi, Arduino, micro:bit, and more. Available fall 2019. Check out Sphero Bolt, too. https://www.sphero.com/rvr
Robo Wunderkind This modular robot from Austria snaps together to make simple to complex robots, from a flashlight to a rolling vehicle that solves mazes. Includes free apps to program their robots. https://robowunderkind.com/ DJI RoboMaster S1 Includes 40+ components that lets you explore science, physics, artificial intelligence (AI), and more. https://www.dji.com/robomaster-s1 Dash and Dot Dash and Dot robots can be programmed with Blockly, a fairly easy language to master. Also check out their Cue robot! https://www.makewonder.com/robots/dash/
https://www.makewonder.com/robots/cue/
LEGO Mindstorms Take the LEGO ideaâ&#x20AC;&#x201D;easy to snap together parts to build thingsâ&#x20AC;&#x201D;and add icon-based programming, wheels, legs, and other mobile pieces. Also includes an active online community with lots of ideas to try. https://www.lego.com/en-us/mindstorms Cubetto Program the Cubetto robot with touch, pressing down block shapes in order to tell the robot what to do. Geared towards young kids. https://www.primotoys.com/
Code-a-Pillar Kids develop problem solving, planning, and critical thinking skills as they change the caterpillar's segments to make it go. https://fisher-price.mattel.com/shop/en-us/fp/think-learn/think-learn-code-a-pillar-dkt39
Ozobot
Two small robots, Evo and Bit, provide a deceptive amount of learning opportunities, creativity, and fun.
Apps Bitsbox Kids learn to code by making games on the Bitsbox.com website, and then play them on their phone or tablet. The games are quite clever with fun, bright graphics. And it’s easy for kids to adapt the code once they figure out the game, while Bitsbox learning and becoming comfortable with code. A new box of games arrives each month. Ages 5+. http://bitsbox.com
Erase All Kittens! A gentle introduction to professional coding languages, enabling children to play and learn on their own—or alongside parents and teachers. Mario-style gameplay for this online game to make learning these languages fun for complete beginners. Ages 8+. It’s a blast to play (and learn!). https://eraseallkittens.com/
Codea Codea is an iPad app to create games. Adapt existing code or create from scratch. The app has lots of game functionality with few limits on what you can create. Ages 10+. https://codea.io/ Hopscotch This iPhone and iPad app uses blocks you drag and drop to create effects. It has a strong community of kids who often come up with creative ways to have fun. Ages 5+ http://gethopscotch.com Tynker Many US kids are familiar with Tynker from their classrooms. Tynker is a block language, meaning you drag and drop blocks and configure them. It’s easy and fun to move blocks around, find sprite images, and make the blocks do things. Ages 5+ https://www.tynker.com/
Maker and Electronics Kits KiwiCo Created by a team of educators, makers, engineers, and rocket scientists (yes, for real), they deliver monthly crates (kits) with projects geared towards humans ages 0 to 104. Their goal is to inspire kids interested in science, art, and making things. https://www.kiwico.com/ KiwiCo
Labo by Nintendo While not electronic, Labo is a game and construction toy created by Nintendo. If you have a Switch console, Labo lets you create all kinds of neat projects and things from cardboard and your console. https://labo.nintendo.com/ LABO by Nintendo
Move the Turtle Little kids can move a “turtle” around the screen by setting direction and the number of steps in order to create artwork and solve problems. Teaches basic coding ideas and prepares kids for block languages like Scratch, Hopscotch, and Tynker. http://movetheturtle.com Coding Is Good, Swiftie, Touch Lua, Python 3.4 Learn how to code with Swift (Swiftie), Lua (Touch Lua), and Python (Python for iOS and Coding Is Good). SoloLearn has a number of apps and languages. Find them in the App Store and Google Play. Another option: find Python projects in books or online with the Repl.it website.
Run Marco! A coding adventure game in English and 26 other languages. Kids use conditional logic and critical thinking skills to help Marco get through his adventures. https://allcancode.com/runmarco The Foos This iPhone and iPad app helps kids ages 5-10+ work through levels where they can play and learn basic programming and computer science skills. https://thefoos.com/ Hopscotch
Adafruit Laboratories You can find all things electronics on their site, as well as tutorials and fun projects like blinking unicorn horns (who doesn’t need those?). https://www. adafruit.com/ Piper Follow real engineering blueprints to build your own computer, and then use Pipercraft, a Minecraft mod, to configure it. You also can build gadgets with electronic boards. Includes wood case. https:// playpiper.com/ Jewelbots Create friendship bracelets with functionality kids can code. http://jewelbots.com/ https://techwillsaveus.com
25
26
Kano This is a very simple snap
littleBits Easy snap-together
together computer kit. The brains are powered by a Raspberry Pi and Kano includes an excellent operating system designed for kids. Also includes an online community to share ideas. https://kano.me
electronic pieces make a large number of different kits, and make it fun to invent things. http://littlebits.cc/
CrowPi The CrowPi is an amazing collection of electronic components with a Raspberry Pi computer, from ElecCrow. They also have starter kits for micro:bit and Arduino and a collection of regular electronic kits. https://www.elecrow.com/ Tech Will Save Us Educational tech toys that are kits kids can build to mix building, craft, science, tech, coding, and fun. . https://techwillsaveus.com
Snap Circuits A collection of snap together circuit projects to teach kids the basics of electronics. Includes a kit with coding projects. https://www.elenco.com/brand/snapcircuits/
This kit has fun tools such as invisible ink, while also containing info cards about some ciphers and codes, including Pigpen (which we covered in an earlier issue). https://www. alexbrands.com/product/sciencelearning/science-learning-sciencekits/fun-lab-secret-codes/
Redfern Crumble Starter Kit
Redfern They sell their Crumble board with robot kits with motors, LEDs, and sensors. All programmable with a Scratch-like drag and drop language. https://redfernelectronics. co.uk/shop/
Secret Codes Kits and Books Scientific Explorer Secret Codes Decoder Kit
SAM Labs Their app-enabled electronic construction kits teach STEAM skills using Bluetooth enabled blocks. Their website includes course materials and other useful information. https://samlabs.com/
Telegraph Kit: The Science Cube We covered Morse Code in an earlier issue, so why not let the kids make their own machine? Definitely a cool gift idea for anyone who wants something physical to engineer. https://www.amazon.com/ Telegraph-Kit-The-Science-Cube/dp/ B0082CRY7A
Secret Decoder Deluxe Activity Set: ON the GO A little less focused on established codes, but has three workbooks which kids can delve into and crack the mystery as they go! https://www.melissaanddoug.com/ secret-decoder-deluxe-activity-set--on-the-go/5238.html
Cracking Codes with Python This book combines two fun experiences: Python, which is easy to code, and secret codes. All kinds of ciphers are covered with details about how to use Python to break them. A fun, engrossing source book for someone interested in solving puzzles with code. https://nostarch.com/crackingcodes
Top Secret: A Handbook of Codes, Ciphers, and Secret Writing This takes a slight turn away from the â&#x20AC;&#x2DC;fun kitsâ&#x20AC;&#x2122;, but it does cover a lot of the codes used throughout history, and gives some test codes to break. https://www.publishersweekly. com/978-0-7636-0971-9
Scientific Explorer Secret Codes Decoder Kit
Secret Decoder Deluxe Activity Set
27
Board Games Some of the best ways to learn about programming are through board and card games. You donâ&#x20AC;&#x2122;t need electricity or a computer. Here are fun games for little kids, bigger kids, and families. Playing these games as a family with younger kids also can help them more quickly understand the games, more than if they were to play the games by themselves.
Robot Turtles Robot Turtles is a great board game with an online community where you can create your own game boards. These games sometimes let you replace the object you direct with a favorite person, adding another level of fun and engagement. http://thinkfun.com/robotturtles/
Turing Tumble While not exactly a board game, it is a hands on game that uses the original idea of computers as switches to teach the basic ideas behind computing and programming. https://www.turingtumble.com/
Code Master Code Master This single player game, from the makers of Robot Turtles, has 60 levels you work through to learn programming logic. Only one path leads to the crystal and wins the game. http://thinkfun.com/codemaster
Bits and Bytes This card game teaches basic computing skills: logic, problem solving, and critical thinking. The game is absorbing and flexible. No need for a computer. http://bitsandbytes.cards/
littlecodr This deceptively simple card game for kids 4-8 lets them lay out a series of steps for others to follow. When they master the basic game, they can add more advanced cards. http://littlecodr.com/
Notable Women in Computing Card Deck
Robot Turtles Board Game
A traditional 52-card deck featuring women who have contributed to technology can be used to play any classic card game. The makers also offer cards with women from the Middle East and Africa, and posters for both sets. Download the poster and cards to print locally! http://notabletechnicalwomen.org/
Giggle Chips A set of creative game cards created by a mom and her young, doodling daughter that teach computer science concepts in a fun, visual way. http://gigglechips.bigcartel.com/
Scratch Coding Cards This set of 75 cards has a number of projects, from beginner to advanced, that teach all parts of Scratch. Ages 8+ https://nostarch.com/scratchcards
Bits & Bytes
28 28
Virtual Reality There are several ways to evaluate what virtual reality (VR) headset makes the most sense. If you only want to try out VR, for example, Google Cardboard and Labo VR are comparatively low cost. If you want the full immersive experience, and cost isn’t a concern, then the issue to consider is wireless versus wired. The Oculus Quest gets high ratings for wireless standalone headsets while the HTC Vive probably is the best wired option. Then again, if you have a Playstation 4, their VR headset is a good quality and benefits from all the games on that platform. Click through these links to explore your VR options.
MAURICIO PESCE, FLICKR
Google Cardboard For $20-$30 USD you can buy a cardboard headset then slide in a modern smartphone and use VR apps. While not as immersive as the HTC Vive, the experience is as amazing as more expensive options. https://vr.google.com/ cardboard/
Nintendo Labo VR Kit If you have the Labo kit, which allows you to create all sorts of technology projects, there is a virtual reality kit that can extend the Labo system. It’s more expensive than Google Cardboard but much less than the Oculus Go. The kit is a mix of DIY fun, pass-and-play multiplayer, and family-friendly play with simple, shareable VR gaming. Includes a programming tool to create VR games and experiences. https://labo.nintendo.com/kits/vr-kit/
HTC Vive
Oculus Quest and Rift S The Quest is an all-in-one gaming system built for virtual reality. Now you can play almost anywhere with just a VR headset and two controllers. You don’t need a computer or wires. There’s also a decent range of games to play. The Rift S is a new version that requires a powerful computer. https://www.oculus.com/quest/ https://www.oculus.com/rift-s/
HTC Vive Cosmos This is the most elaborate VR setup, but the use of base stations to fix your position can provide more space to move around. You’ll also need a powerful computer. At the least, definitely find a Microsoft store with an HTC Vive setup and then try it out. It’s amazing! There’s also the HTC Vive Pro which is expensive but includes high end equipment and features. https://www.vive.com/us/
Sony Playstation VR The Playstation platform has added virtual reality to its games. You need a Playstation 4, but if yours is an older model or you don’t have one and want to buy, the VR version of the platform could be lots of fun. https://www.playstation.com/en-us/explore/playstationvr/
Samsung Gear VR A combination headset with smartphone, like the Google Cardboard, the Samsung Gear VR headset experience is more immersive. A controller also adds to the experience. https://www.samsung.com/global/galaxy/gear-vr/
b
Samsung Gear VR
29
Filling the Learning Gap with PBL Without a doubt, 2020 will be known as the year of crisis teaching in education. All around the globe, schools were shuttered and their curricula moved online due to the spread of Coronavirus. Teachers quickly adapted to the new landscape in a matter of days or weeks. In the middle of a pandemic, most teachers went above and beyond to make online content for their students engaging and rigorous. Despite the passion and hard work that teachers put into their classes, there has been a growing concern about an education gap for the students of 2020. There is no doubt that learning remotely does not include the same social and kinesthetic qualities of a classroom education. A young learnerâ&#x20AC;&#x2122;s brain simply does not respond in the same way while they Zoom or watch recorded lessons online. The group work, the active learning, and even the small talk and jokes that happen in a classroom play a big role in the social and emotional learning of school. However, in this era of crisis teaching there is also a great opportunity. As schools move online and teachers and students work remotely, there is a push to use this time in a novel way. Rather than continue to deliver content and attempt to assess knowledge in the traditional way, some teachers are choosing to use this time instead for project-based learning (PBL) and independent study projects. Motivation is one of the great
FELIPHE SCHIAROLLI, UNSPLASH
challenges of a remote education, and during an independent study, students choose their research topic based on their interests and curiosity. This inquiry-based approach requires a great deal of scaffolding and structure, but it ultimately models real-world academic and entrepreneurial projects. Students design their proposals, create their own learning contracts, set due dates, and research their own resources. Project-based independent study can promote agency and curiosity in a time when learning has become more passive than ever. The project based concept is not new and was the lifeâ&#x20AC;&#x2122;s work of the philosopher and founder of the University of Chicago Laboratory School, John Dewey. He believed that active experiences help students not only learn about the world as it is, but prepare for the changing, dynamic world they will inhabit. According to Dewey, â&#x20AC;&#x153;education is not preparation for life; education is life itself." In a moment when students are faced with everevolving challenges, project-based learning provides a strong template for identifying problems, sourcing information, and developing solutions. High Tech High is just one school that has utilized this model to teach organizational and research skills as well as content. A charterschool founded in 2000 outside of San Diego, High Tech High uses a project-based curriculum and continues to do so during
quarantine. Students create projects based in the humanities, sciences, technology, and arts and present their work to their colleagues at an end of the year school-wide symposium. Their curriculum is wellorganized and focuses on the key parts of a project-based curriculum: student curiosity, inquiry, agency, and presentation. While my school started off the year in-person, there remains a strong chance that our classes will return to remote learning again this year. Being a technology and design teacher means incorporating upto-date programming concepts and languages. However this year, if we move again to remote learning, I will be taking a cue from High Tech High and instead use this time to facilitate independent learning projects with my students. Some teachers may feel that switching to a project-based curriculum would only further the loss of content. I can understand that perspective; however, in my experience many students are struggling with remote learning behind their laptops. While stronger students are continuing to do well, many other students are faltering. Moreover, many aspects of education like assessing mastery are extremely difficult outside of a classroom. Project-based units are a positive force for not only for developing the agile thinkers of the next generation, but providing an opportunity for growth in a challenging time. b
Parents and Teachers
BY TIM MCGUIGAN
â&#x20AC;&#x153;If people never did silly things, nothing intelligent would ever get done."
â&#x20AC;&#x201D;Ludwig Wittgenstein
Thank you for reading this issue of beanz ! Check out the links below to read stories from this issue online with links to learn more. I Get the Wi, But Why the Fi? https://beanzmag.com/ wi-fi-name-history
Encoding 1010110010... https://beanzmag.com/ encoding-decoding-storingdata
Roll a (Python) Story https://beanzmag.com/ python-roll-a-story
Amazing Grace https://beanzmag.com/ grace-hopper
Can Math Be Fun? https://beanzmag.com/ math-proofs-computers
You Can Add To the Stack https://beanzmag.com/ forth-language
Kaspersky Goes (Anti) Viral https://beanzmag.com/ eugene-kaspersky
What's a Bogon? https://beanzmag.com/ bogons
Dot. Dot. Dot. Graph. https://beanzmag.com/ sprouts-game-graph-theory
Build a Paper House https://beanzmag.com/ sketchup-build-paper-house STEAM Gift Guide 2020 https://beanzmag.com/ steam-gifts-2020 Fill the Learning Gap With PBL https://beanzmag.com/ covid-learning-gap-pbl
ribe! Subsc
For Rent: Outer Space https://beanzmag.com/ storing-data-in-space
https://beanzmag.com/subscribe