beanz Magazine October 2021

Page 1

Kids, Code, and Computer Science 2020 Tillywig Award Winner

2020 Academics' Choice Award Winner

Art and Tech:

A Tsunami of Possibilities In the Middle: What's Your Type? Textiles and Textfiles Coding With Pictures in Pyret

October 2021

$6.00 USD $6.00

Inside! The 2021 STEM/ STEAM Gift Guide


beanz magazine October 2021: Volume 9 Issue 2 Issue 56 (online) & 39 (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: Ethan Pate, Amy S. Hansen, Martin Fish, Bonnie Roskes, Simon Batt, Clarissa Littler, Jennifer Newell, Tim McGuigan, Bianca Rivera, Jo Hinchcliffe, Tim Slavin Contributors: Patricia Foster, Erin Winnick, David Dodge, Jay Silver, Jeremy Kubica, Colleen Graves, Daniel Fenjves, Ali Hagen, Emeline Swanson, JeanFrancois Nguyen, Paul Seal, Madeleine Slavin Copy Editor: Eileen Seiler Art Director: Kelley Lanuto Webmaster: Ethan Pate COVER IMAGES: THE GREAT WAVE OFF OF KANAGAWA, AND THE SCREAM BY EDVARD MUNCH

Publisher’s Note Welcome to this issue! You have in your hands a very interesting issue. In addition to another fun cover from Kelley, our designer, we’ve got articles about how textiles and technology turned into art and computing, a story about Tommy Flowers and WWII computers built to break German codes, and a fun Tidbitz story about a language that translates your dog’s thoughts into words. Also featured are a book that teaches HTML and CSS with no computer required, some fun Scratch and Pyret projects and an article about the ! operator which is called a bang, as well as reserved words in programming languages. Best of all, we’ve included our annual Holiday STEM/STEAM Gift Guide with dozens of gift ideas for the upcoming holidays or birthdays. For example, try virtual reality for $10-$40 using Google Cardboard and a smartphone. There are also books, robots, board games, apps, and lots more. Don’t miss Tim McGuigan’s article about how techniques in the movie, The Martian, can be useful when learning about and using technology to create things and solve problems. Tim’s also our My beanz feature on the bottom right of our table of contents page. Email us at hello@beanzmag.com if you want to be featured in Me and My beanz with a photo of you and your copy of this issue. We’d love to see you there! And we hope you enjoy this issue.

Tim Slavin, Publisher beanz Magazine

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.


contents

advanced

intermediate

beginner

2

cribe 1 s b u s / ag.com m z n a e /b https:/

October 2021

4

Tech in Real Life Art in Partnership Cover Story

7 8 9 10 11 12 tidbitz

Cover Story

Tech in Real Life

Hey Stadium...Beam Me Up a Snack!

Concepts G Whiz!

Book Review Learn to Code...Without a Computer

History

What's the Point?!

History

Flower Power!

Programming

Fractured Fairy Tales, Part 2

18 Power Up the O2! 18 Try to Keep Up 18 No Biting! Use Your Words! 19 What Stinks? 19 Waze Won't Help You Here STEAM Group 19 Girls' Helps the Homeless

Programming Code With Pics in Pyret

13 14 16 20 22 23 29

Programming

Open Source Projects Can Help Young Coders Learn

In the Middle Cover Story What's Your Type?

History Cover Story Textiles and Textfiles

Programming

Program With Pico and Thonny

Programming

Keywords in Programming

STEAM Gift Guide 2021 Parents and Teachers Lessons from Mars

Me and My beanz! Tim McGuigan teaches middle school Computer Science and Robotics and is the Farrell Chair for Innovation at Shady Side Academy in Pittsburgh, PA. He’s also our Parent/Teacher Corner columnist writing about how to engage and inspire kids learning about computing. How much do you love beanz? We'd love to see! Send us a photo of you and your beanz to us at hello@beanzmag.com. We may print it right here and make you famous. Bragging rights!


2 Tech In Real Life

BY CLARISSA LITTLER

Hey Mona, let's work together!

You crack me up!

Art In Partnership: Computers and Creativity EDGE 2 EDGE MEDIA, UNSPLASH

ALEX KNIGHT, UNSPLASH


3 “Can computers create art?” It’s a question that’s been asked for as long as we’ve been making computers, but one that’s become more intense in an age where computers seem to be crafting stories, creating realistic paintings, and making songs in the style of any musician who’s ever been recorded. It’s a question about how we define intelligence and creativity and gets to the heart of what is considered “art”. So, can “a computer” do anything? I mean, a computer is just a thing you run code on. It doesn’t make decisions or choices. Let’s reframe the question as “can a person write a program that can automate the creation of art?” By automate, we mean that, once the program is started, it produces creative works without further human intervention. In other words, “can someone write a program that acts creatively”? Creative Combo We’ll start with a really interesting question: what on Earth is “creativity”? Thankfully, your humble author doesn’t need to come up with an answer to that all by herself. There’s an entire field of research called “computational creativity” that considers this question. In fact, much of the rest of this article is going to be borrowing ideas invented by Margaret Boden—one of the founders and giants in the field who has tried to break down the different kinds of creativity that exist. There’s combinatorial creativity, which is like remixing existing ideas in different ways than they were given to you, riffing off of things you’ve seen before. If you’ve ever come up with a game idea that’s like “ ____ meets ____”, then you’ve played with combinatorial creativity. Then there’s exploratory creativity. That’s about trying things within a set of wellestablished rules of an art form; for example, writing a poem to conform with a set structure, like a haiku. Finally, there’s transformational creativity. This is where you make up new rules for the art form. This is a really hard kind of creativity, one that often involves major breakthroughs in a field: new forms, new techniques, radically new ideas. The first people to envision making movies from a series of single, still photographs were involved in transformational creativity. As a side note, transformational creativity frequently involves being able to look at something with very fresh eyes and to take apart the assumptions that go into what makes a form of art good, bad or interesting. Creativity That Doesn’t Compute Combinational and exploratory creativity can be done reasonably well by a computer. Exploring a well-defined space is what a lot of machine learning techniques do. They are trained on millions and millions of examples in order to copy the patterns of what they’ve learned, to make new objects that look like the ones they’ve already seen. Similarly, mashups also show up in research on machine learning and procedural generation. That’s the kind of creativity explored when you have a program that can take a song and play it in the style of a different musician or take a picture and animate the mouth to be singing along with a song. But transformational creativity is hard for computers. By definition, it requires a lot more intentional thought about restrictions and definitions of what an artform even means. I’m not saying we’ll never ever figure out how to automate this kind of creativity, but right now we have no idea how to do it. And this brings us to the punchline of this article: computers are good at certain kinds of creativity but you and I are good at a different kind altogether. I can come up with new rules and strange new ideas to explore, but what I can’t do is look at a hundred thousand paintings and replicate the style of them. So rather than asking the question “can computers create art?” I think we should be asking the question “what kind of art can people and computers create together?”, and that’s what I call art in partnership. b


Programming

4

h t i W e d t o e C r y P n i s Pic

BY JENNIFER NEWELL

Are you interested in text-based coding but prefer working with images and colors over numbers and letters? If so, you may want to try out the Pyret language. It shares many similarities with Python, and has a free, easyto-use, online editor that does not require anything to be downloaded or installed. To get started coding with Pyret, sign in to the online Pyret editor found at https://code.pyret.org/. Create an account or sign in through your Google account to be sure that you can save your work. When the editor opens you will see the screen below:

Notice that the screen is split. The right side acts as a powerful calculator that can perform calculations and also test out code. Type in the following examples at the chevron (>>>) on the right. After each example press enter to see the result. Examples: 8 8+6 7*5 20 / 4 7 - 10 2/5 + 3/4

A

Be sure to always include a space between the operator (such as the + , - , ...), and the numbers you wish to calculate. If everything worked out, you should see the following results (A, left): The editor can also perform more advanced calculations. If you are familiar with exponents or square roots, try out the examples below (still using the right-hand side of the Pyret editor): num-sqrt(25) num-sqrt(16) num-expt(6, 2) num-expt(2, 3) Did you notice that num-sqrt() finds the square root of the number in parentheses and that num-expt() uses the first number as the base and the second number as the exponent? If done correctly, these previous four examples produce the following results: 5, 4, 36, 8. While the right side of the screen makes a great calculator, the left


5

side is where we can code. One of the first steps when coding in Pyret is defining a variable. For example, in the third example above, we used num-expt(6, 2) to raise 6 to the 2nd power. But num-expt() is quite a lot to type every time we want to raise a number to a power. By defining a variable, let’s say x, on the left side of the editor, we can ‘rename’ numexpt(6, 2) and save ourselves some typing. Try this out by entering the code as we did below:

Be sure to click on the blue Run button on the upper right side of the screen so that the Pyret editor knows what we mean by x. Once we have run our code, we can type x on the right hand side and we’ll get the same result as we would get by typing num-expt(6, 2).

One of the most fun parts about programming with Pyret is that we can easily move from working with numbers to working with images. So far we have only used numbers, but by accessing the Pyret image library, we can start making pictures with code also. Let’s get started with images by typing the following at the top of the left-hand side of the Pyret window and clicking the blue Run button:

If there are no mistakes, it will appear that nothing happened (if there was a typo you will see an error message when you run the code). Now we can start working with Pyret’s image library. On the right-hand side test out the following image functions: circle(50, "solid", "magenta") triangle(70, "outline", "blue") star(35, "solid", "orange") rectangle(60, 80, "outline", "purple") Refer to the image B, right, to double check your work: Notice that the code for all the images follows a pattern. Each requires a size (a number), a fill (solid or outline), and a color (list of Pyret colors: https://www.pyret.org/docs/latest/color.html). Also note that the fill and color (called ‘strings’) must be in quotation marks, while the size (a number) does not need quotation marks around it. Once you have an image you like that you may want to use multiple times, you can rename it using a variable. For example, if I want to create a scene that has several solid orange stars of size 35, I can rename my star as star35 on the left side of the screen and click Run. Now every time I want another star, all I need to type is star35 on the right.

B


6

h t i W Code Pyret, in Pics ue d n i t n co

C

The size, fill, and color that we type into each function are called the function’s arguments. Actually, num-sqrt() and num-expt() from the beginning of this article are also functions that take in arguments but instead of creating images, they perform a calculation. The Pyret language has many more image functions listed on the documentation site (https:// www.pyret.org/docs/latest/image.html). A couple more fun functions to try out include overlay() and image-url(). The overlay() function takes in two image arguments and centers the first one on top of the second one. Refer to the code below to overlay a smaller star on top of a larger star: Again, if we want to quickly refer back to an image, we can store it in a variable. Below, we renamed the overlaid stars ‘doublestar’. If we want to use images that we have created or found online, we can use the image-url() function. It is a good idea to first upload the images we want to use into our Google drive. In the Pyret editor we click the Insert button on the upper left-hand side of the screen. This gives us access to the images in our Google drive. Now we can select the image we want to appear in our Pyret code. For example, we found a jack-o-lantern image and uploaded it to our Google drive. Within the Pyret editor we can click Insert and our Google drive images appear as shown left, C: After selecting the jack-o-lantern from our drive, we are able to select the import style, left, D: Finally, the image-url() function appears in the Pyret editor, with the jack-o-lantern image loaded into it. We decided to rename our image jack.

JACK-O-LANTERN IMAGE BY YEONG RONG KIM FROM THE NOUN PROJECT (THENOUNPROJECT.COM)

D If the image is not the size that we hoped for, we can use the scale() function to resize it. For example, if we want our image, jack, to be 25% of its original size, we do scale(0.25, jack):

In the December issue of beanz we will demonstrate how to create a more complex scene, as well as how to write our own functions. Until then, try fiddling with the built-in functions described in this article and see if you can overlay images to make a scene of your own. b


Technology may not be able to help sports players complete a pass or score a home run. That takes practice, practice, practice. But IoT plays a big part in our enjoyment and understanding of all types of sports at home and in the stadium. For example, Slo-mo. What’s that about? It takes all kinds of gizmos and gadgets to record the action at a very high frame rate so it can be played back in slow motion at really high quality. But, it’s in stadiums and on playing fields where technology really shines and where revolutionary changes to how we enjoy sports are taking place. How great would it be if the stadium itself told you everything you needed to know, such as beaming the location of an open parking space to your phone? (Parents would love that.) Or, perhaps the stadium could help you locate your seat quickly or, more importantly, let you know where the restrooms are so you don’t have to run around the stadium in a mild panic. While you watch the game, you can use the stadium’s network to bring up the statistics of the players on the field. When someone scores an awesome goal, you can pull up the replay on your phone and watch it again. Sounds cool, right? But c’mon. It isn’t possible… or is it? In fact, these features and more are being added to what’s called a “connected arena,” which uses the power of smart devices to enhance the viewer’s experience. The NACK5 Stadium Omiya in Saitama, Japan lets you rewatch soccer goals from the point of view of the goalkeeper using an Oculus Rift headset. That way you can see every goal from as close as you can get. Hungry, but don't want to miss the next play? NACK5 also has a “knack” for snacks. Just use an app to order and the food comes to you. Score! So if you’re a big fan of sports and tech, why not combine the two? There’s a huge need for engineers such as yourself to help design the next big way that people can interact with their favorite sports, and you could be one of the lucky few that gets to make something amazing. b

ELION JASHARI, UNSPLASH

Tech In Real Life

. . . m iu d a t p S U , y e M He m ! a k c a Be a Sn

7 BY SIMON BATT


8

! z i h GW

Concepts

BY SIMON BATT

As the world moves from 4G to 5G, people are enjoying faster download speeds on their mobile phones. The thing is, what is a “G,” anyway? Why did it take so long to add another G to 4G and make it 5G? And how long will it be until we can add another one and get 6G? As it turns out, the “G” doesn’t really mean a whole lot in technological terms. It does in the way that 5G is faster than 4G, but a “G” isn’t a direct representation of computing power. It’s not the same as, say, the gigabytes in RAM or the gigahertz in a processor; both of which are direct measurements of how capable the hardware is. Gen G-ers In fact, all the “G” stands for is—ready for this?—“Generation.” Yes, it’s that simple. 4G is the “fourth generation” of mobile data technology, and 5G is the “fifth generation.” Whenever cellular data technology advances a huge step, we christen it the next generation of technology. When this happens next, we’ll get 6G. But hold on a minute. We have 4G, and we’re moving onto 5G. But if 4G is the “fourth generation,” that means there were three other generations before it, right? You don’t need to look too hard to find 3G. The world used to use it as the primary way to go online with their phones, but when 4G arrived, 3G began looking really slow. Now 5G is out, and 3G is looking very, very slow —but it’s still around for people to use. Zero to 5G Before then, however, were the other generations. 0G is a term used for the very start of mobile phones, and it’s labelled “Generation 0” because it doesn’t use cellular data at all. Instead, these chunky phones used radiotelephone technology to call other people. These came into the scene around 1945, and lasted until the 1980s when 1G came in. 1G brought about the cellular technology that mobile phones use these days. These connect to data towers, and the range of each data tower is a “cell.” That’s why it’s a “cellular network” and why we had “cellphones.” 1G was pretty slow, clocking in at 2.4 kbps. It also used an “analog” data signal to send information. 2G was a lot faster at 64 kbps, but it was still slow in comparison to today's standards. 2G rolled out in 1991, and used a digital data signal instead of analog. The digital format resulted in fewer errors and allowed calls to be digitally encrypted, so it was a lot better than 1G. So there you have it. A 5G connection isn’t just five Gs slapped together; in fact, it’s the fifth version of the technology that helps connect us together. As such, who knows what 6G will look like? Guess we’ll have to wait and find out! b TOP TO BOTTOM: DARIA VOLKOVA, UNSPLASH; AMBER KIPP, UNSPLASH; DAVID EMRICH, UNSPLASH; STEVEN LASRY, UNSPLASH; JON TYSON, UNSPLASH.


Who needs a computer to learn how to code? Sometimes complex technology just gets in the way. The Coding Workbook is an exercise book with perforated pages, illustrations, and progress quizzes that requires only a pen or pencil to learn how to code a simple website in HTML or CSS. Written by Sam Taylor, a middle school STEM teacher, the workbook is the result of Sam teaching herself to code by posting simple tutorials on her blog. Using pen or pencil and paper instead of a computer is deliberate. As a teacher, she found many students didn’t have a computer in school or at home. What’s unique about this book is that you begin with a pen or pencil and work through the exercises. When finished, writing code by hand should translate nicely to typing HTML and CSS into actual files. HTML and CSS are not difficult languages to learn. There are maybe half a dozen HTML tags, for example, that are used repeatedly when creating web pages. CSS is a little more difficult—but not impossible—to master. CSS works like a Microsoft Word stylesheet, organizing look and feel directions into a single file or code stored within an HTML web page. The Coding Workbook teaches HTML starting with the web page structure. Then you learn how to use HTML to create the elements of a page, for example, images and links, as well as tag paragraphs and headings. CSS is taught by creating a file then using styles to define how fonts and text display. There’s also a section about how to use CSS to set margins between paragraphs and around images. Both the HTML and CSS sections also show how to nest tags and styles. This book is ideal for students and anyone interested in creating web pages using a friendly and approachable way to get started. The Coding Workbook: Build a Website with HTML & CSS by Sam Taylor, December 2020, 136 pp. ISBN-13: 9781718500310. b IMAGES FROM AMAZON.COM

Sam Taylor

9 Book Review

Learn to Code... Without a Computer

BY TIM SLAVIN


History

10

BY TIM SLAVIN

What's the Point?! Years ago, when I first discovered that an exclamation point in computer code is called a bang, I decided to have some fun with it. While signing up for online software coding communities to get help solving difficult problems, I created an online name called fred!head…fred bang head…that would be me, on my keyboard or desk, trying to solve coding problems. Get it? In computing, the bang, or exclamation point, is used to represent negation. So the bang means "not". I recently happened upon a question posted on Stack Exchange asking why this was the case. To help us understand why, we need an explanation of an obscure but critical part of programming: the operator. In programming, an operator is a symbol that indicates a math, relational, logical action, or process to be executed in code. Operators are everywhere in software code. They’re used to perform operations like evaluating data. The Stack Exchange article claims the earliest use of a bang was in the programming language, B, which used a compiler language, BCPL, as a model for its operators. The B language needed a character to indicate the concept of "not equal" but the BCPL compiler language didn’t have a usable operator. The creators of B chose != because the exclamation point was one of only a few characters not yet used in programming languages. Once they agreed to use != to indicate "not equal", it was a small step to use the exclamation point by itself to indicate not, or negation. Other languages picked up this notation. Here are examples of the ! operator in use. This code would test whether or not a variable has been assigned a value: if !$variable do something In English, this code reads, "if $variable is empty, do something". More commonly, though, the ! operator is used to test whether or not two values are equal: if $variableA != $variableB do something The != operator reads as "not equal" since the exclamation point means "not" in computing. In other words, the code above reads, "if $variableA is not equal to $variableB, do something". This is the best explanation we can hope for since early programmers only documented how to use their languages, and not why they chose which symbols meant what. Believe it or not! b MARCUS SPISKEY, UNSPLASH


BY SIMON BATT

Have you ever built a computer? It can be intimidating, but, once you’re done, you have a PC you can be proud of. What if you were asked to build a computer to help win a war? That’s what happened to Tommy Flowers, and he succeeded in his task big time. During World War II, Germany was sending a lot of encrypted messages to protect their communications from being understood by the Allies. Encryption was a big deal back then. Codes were really hard to crack. Many very smart people had to churn through all the code. Flowers, an engineer with the British General Post Office, was asked to make a machine that could do all the long and tedious code-breaking work for the allied army. The computer took 11 months to build, and it was given the name, Colossus. Colossus was an early computer, but it wasn’t the first ever. There were already in existence a few machines that could automatically calculate things with minimal human interaction. However, the Colossus was both the first electronically-powered computer and the first one that could be programmed. The name Colossus didn’t come out of nowhere. It was a beast of a machine at 7 feet tall, 17 feet long, and 11 feet wide. Think of a giraffe laying down on its side. (Yes, that long.) It featured 1,500 vacuum tubes to help it compute stuff, and it could process 5,000 letters a second; a lot faster than a human. By the end of the war, 10 Colossus machines had been made and they were staffed by 550 people. The machines had successfully churned through 63 million characters of German code and helped bring the war to a close sooner that expected. Tommy Flowers, unfortunately, did not get any awards or honors (not even flowers) until much later because the Allies wanted to keep this giant code-busting machine secret. After the war, the computers were disassembled bit by bit and kept under wraps until 1975...30 years later. But, Flowers, who passed away in 1998, did live to get recognition for helping to bring a terrible war to a quicker conclusion. b ALL IMAGES WIKIMEDIA COMMONS

History

Flower Power!

11

T.H. "Tommy" Flowers

Above, Dollis Hill, the former Post Office research station where Colossus was invented. Below, a wartime era photo of Colossus.


12 Programming

BY BIANCA RIVERA

Fractured Fairy Tales, Part 2 In part 1 of this series on creating fairy tales in Scratch 3.0, we showed how to switch backdrops and costumes, add sound, manage timing, and utilize the Glide and Broadcast blocks. This time our fairy tale will continue using the Ghost effect, Backpack, Functions, animation frames, Broadcast and Wait, and Clean up Blocks. That’s a lot, but thankfully Scratch makes it easy. Let’s jump in. To view the sample project, go to Scratch and do a search for “Fracturing Fairy Tales” by creator Fairy Scratcher, or go to https://scratch.mit.edu/ projects/504911562. To start, let’s look at the Ghost effect. In Scene 3 of our tale, the cursed King (who is now a toad) surprises our Fairy heroine by fading in. This is accomplished by using a Change __ effect by block that is found under Looks. There are seven different effects; we will use Ghost. To have our King fade in, we set the Ghost effect to 100 (which makes him invisible), then we change this effect gradually until it’s 0. Because the Ghost effect is so useful, we can save this block stack in our Backpack to use in other projects. A

A

Next, let’s look at how to create animation frames. Scratch does provide some “walking” Sprites, but our Toad sprite does not have that option. To create a hopping effect, go into Toad’s costumes and duplicate his costume. Then (staying in Vector mode), Ungroup his image and slightly move his legs. Copy over that costume and repeat 3 more times until you achieve an “animation”. Then, go into your code and use a Repeat block to have your Toad cycle through costume changes, time, and steps to achieve the hopping effect. To reuse this code, create a function by going to My Blocks and Make a Block. Drag the hopping effect block stack into the function to use it for the scene. B, C Remember, functions can also be saved in your Backpack. We used the Broadcast block several times in part 1 of this lesson, but now we will use the Broadcast and Wait block. In Scene 4, Fairy and Centaur are plotting how to snatch the magic crystal

D

from the Witch’s lair. The Witch makes a spooky appearance using the Ghost effect. We don’t want viewers to miss that eerie moment so we can use a Broadcast and Wait block to ensure the rest of the code doesn’t continue until the Witch fades in completely. D Using the Clean up Blocks tool will keep you organized. Go to each page of Code and right click on the Code Area - you will see the option to Clean up Blocks. Select it and your code will be neatly lined up. You can rearrange the code in logical order and then clean it up again. b

B C


Open Source Projects Can Help Young Coders Learn There’s a gap between learning/ playing with a programming language and knowing enough to use the language to build software projects. How to cross this gap is an interesting problem. You could create small projects of your own. And that’s a great place to start. However, professional coders use source repositories and other tools to organize and backup projects. Learning these tools on your own time may or may not be easy. Probably the best way to learn the end-to-end software development process is to join an open source project. Not all projects take beginners, however. And there may not be a project in your programming language that interests you. But it’s worth researching if you’re looking to evolve as a coder. Working on an open source project involves browsing through bug fix requests filed as tickets, picking one to work on, fixing the bug, testing your solution on your computer, then sending your solution code for review. There are steps within these steps. For example, you’ll need to use the project code repository to make a copy of the latest code on your computer. This requires learning Github or whatever tool the project uses to store and manage their code. If the open source project welcomes beginners, chances are they have documentation to get started. And, speaking of documentation, many open

It's open. Come on in!

source projects follow the same process to update and improve their documentation. Learning the software by reading and updating their documentation might be an easy way to get familiar with the project software and tools. The best place to find open source projects that accept beginners is to search online

for the phrase c# open source projects for beginners if c# is the language you’re interested in working with. It’s also possible to search Github.com for projects in a specific language using the phrase language:python if python is the language you’re interested in. b KATERINA-PAVLYUCHKOVA, UNSPLASH

13 Programming

BY TIM SLAVIN


14 In the Middle: A Deeper Dive Into Everyday Stuff

BY KELLEY LANUTO

What's Your Type?

Our beanz title typeface is called PeachyKeen.

Typography is the style, arrangement, or appearance of typeset Categories of Typefaces matter. What does that mean? It's about how the infinite amount of words that surround you are displayed...printed on paper in books, There are dozens of ways to or on signs, or how they appear on the screens of your electronic describe typefaces. Here are devices. You see and work with typography every day. four main ways: You're no doubt familiar with a lot of terms that are part of the science of typography...fonts, typefaces, uppercase letters...but there are many terms you are probably not familiar with. The story of These typefaces have edges or typography is vast and ancient, and started with the first people who "feet" on their letterforms. ever wrote letterforms in an effort to communicate. The invention of Sans Serif the printing press, using individual letters cast in lead that could be rearranged, helped spawn the Renaissance and our modern world. These typefaces do not have the Typography consists of typefaces. There are thousands of little extra edges on the ends different typefaces. They can have funny names. One of the most of the letterforms. famous typefaces is called Helvetica. Some are very old. Garamond is or HANDWRITING a typeface that was designed in the 16th century and named after its designer, Claude Garamond. We still use it today. New typefaces are These look like handwriting. still being designed. A typeface, like Helvetica, consists of many different fonts. A typeface is like a family, and the fonts are members of the family that These typefaces are showy. all look the same but are just a bit different. For example, there are Usually used for large headlines fonts named Helvetica Bold, Helvetica Light, Helvetica Oblique. These or titles with few words. It would fonts are part of the typeface family Helvetica. be hard to read an entire story if Typography is our language made visible. Typefaces can convey all the words were set in a emotion. Some typefaces are silly, and some are more serious. display font. The typeface you choose can help the words you write convey the emotion you want your reader to feel. That's pretty magical. There are countless terms associated with typesetting. The term Ever Wondered What typesetting itself comes from the time when the individual metal Font or Typeface You’re letters were set in a tray, then inked, and then pressed onto paper. Looking At? Today, typesetting for you means simply typing on your keyboard. Check out WhatTheFont.com. Take The individual letters then appear on your screen. The term a picture of the font and save the typesetting is still used even though the process of getting words to image file. Upload the image file to appear on paper or on a screen is very different today. WhatTheFont.com to find out. Here are some basic facts and details about letterforms, typefaces, and fonts. Now that you know a bit more about typography, look around you. Typography is everywhere. Famous Fonts

Serif

Script

Display

JOE CRAWFORD, FLICKR

Non-Photo Blue Pencil: Editors and typesetters used to use these pencils to mark up typesetting corrections needed, because the blue color was invisible to the cameras that were used to create the printing plates. This way, any stray marks or scribbles would not end up on the final printed page.

Helvetica is one of the most recognizable typefaces in the world. Created in 1957 in by a Swiss designer, you'll see it on NYC subway signage. Target, Toyota, American Airlines, Jeep and countless other companies use it for their logos. Other famous typefaces are Gotham, Gill Sans, Futura, Garamond, and Bodoni.


JM3, FLICKR

Metal Type

Some Typesetting Terms

For hundreds of years, before digital typography was invented, documents were printed using metal type. Each letter was forged as an individual piece of lead. A typesetter would "set" each letter of every single word, one at a time, in a wooden form that would hold all the letters in place. Spaces between words and lines of sentences were filled in with blank pieces of lead (that's where the term "leading" comes from). You know the terms uppercase and lowercase, of course, but did you know they come from an old typesetting practice? Typesetters would store all the different letters in these wooden cases. They would keep the capital letters in the "upper cases" because they weren't used as often as the letters they kept in the "lower cases," which were easier to reach. Why are all the letterforms backwards? Because when inked and pressed onto paper, the mirror image of the word would be what was printed on the paper.

Tracking is the uniform amount of spacing between all letters.

tight tracking loose tracking Kerning refers to the space between individual letters.

n eeds ker ning that´s better! Leading refers to the space from baseline to baseline.

tight leading tight leading loose leading

Stem: The main (usually vertical) stroke of a letterform. Oblique or Italic: This word is set in an oblique font, or slanted. Usually sans serif typefaces use the term oblique, and serif typefaces use the term italic. But they mean the same thing. Used for emphasis or to set a word apart.

X-height: The height of most of a typeface’s lowercase letters. Cap height: The distance between the Capline and the Baseline.

loose leading

WIKIMEDIA COMMONS

WIKIMEDIA COMMONS

Shoulder: a curved stroke originating from a stem.

Display font: our beanz logo is set in a font called Mrs. Lollipop Dotted, part of the Mrs. Lollipop typeface family.

beanz is

clearly the Ascender: A piece of a lowercase letter that extends above the x-height.

All Caps: This word is set using all uppercase letters. It's also set in Comic Sans, probably the most unloved typeface ever.

BEST Stroke: A single linear element that forms part of a character. Can be curved or straight.

A Sans Serif typeface: the category of typefaces that have been designed with letterforms that don't have serifs. (Sans means "without" in French.) This word is set in Museo Sans, which is the typeface beanz uses for its articles.

Serif: A short line or stroke attached to or extending from the open ends of a letterform.

CS magazine.

Baseline: The imaginary line on which most letters and other characters sit.

A Serif typeface: the category of typefaces that have been designed with letterforms that have serifs. This word is set in Garamond, a serif typeface.

Descender: A piece of a letter that extends below the baseline.

Capline: The imaginary line that marks the upper boundary of capital letters and some lowercase letters’ ascenders.

b

15


16

Textiles and Textfiles

Textiles, one of humanity’s most ancient art forms, were created using a loom, an instrument for weaving fabrics that was invented around 10,000 years ago…even before people knew how to write. What’s amazing, though, is that this ancient device ties into the history of one of the most defining modern human inventions: the computer. Let's explore how weaving technology influenced the development of computers, how computers are also influencing textiles, and how patterns of weaving and programs are similar in the right light. Warp and Weft First, we need to explain how weaving with a loom works. Weaving involves a mix of horizontal and vertical threads. The vertical threads, called warp threads, are fixed in place. The actual weaving is done by working horizontal threads, called weft

WIKIMEDIA COMMONS

B

History

BY CLARISSA LITTLER

threads, through the warp threads. For every warp thread, there is a choice of whether the weft thread should go above or below the warp thread. It’s a binary choice (I pointedly say, peering over my glasses, hinting at the connection we’ll discuss further on). An infinite number of weaving patterns can be decided by these choices of overlap, creating a kind of grid of almost pixel-like colors as in the image A. You can think of each line of the fabric as being encoded by a sequence of binary data—up and down or, just as easily, one and zero—to create the pattern. In this way, a loom was the first example of a kind of programming. Patterns With a Punch

The first loom to implement this technique was the Jacquard Loom, an invention of the early 1800s, which used a sequence of cards that had lines with a pattern of holes punched in each. B These punch cards encoded the binary decision of how the weft thread should move above and below the warp threads. A hole indicated that the warp thread should be moved up above the weft thread and a blank spot in the card meant that it should stay down. In other words, holes encoded a one and a space encoded a zero. With this, a designer could create patterns for textiles that could be reused and replicated. In fact, this punchcard-as-binary-number encoding was so useful that it was the basis of most programming in the early history of computers. Image C shows a punchcard that was used to load software onto a mainframe computer.

Programs were keyed on something similar to a typewriter, which would type the code in characters that a human could read and then punch out the appropriate holes to encode the line of code as ones and zeros. The method, using huge stacks of punch cards, was the main way computers were programmed up through most of the 1970s. So that’s one example of the connection between weaving and computers, but it also goes in the other direction. Since a loom operates by something that looks a lot like binary numbers, then you should be able to control looms with a computer. This is exactly what some people have done: building programmable looms, like in the project linked in the further reading of this article. (See the link for this story on the back cover.) And, there’s so much more. One of my favorite projects that fits into the idea of "art in partnership" (see page 2 of this issue), is a loom in which code generates the patterns and even lifts or lowers the warp threads as needed to fit that pattern. A person, weaving by hand, has the ability to override the computer’s pattern at any time. It’s such an amazing inversion of the typical relationship between computing and creativity, one where the person practices the actual craft in conversation with the computer, that in turn is running the code the person wrote. There are many wonderful things still unfolding in the relationship between one of the oldest technologies and one of the newest as we move toward an interwoven future. b


17

A

CHRIS BAI, UNSPLASH

C

WIKIMEDIA COMMONS


tidbitz

1818

Power Up the O2! The world's most powerful tidal turbine is 74 meters (242 feet) long, and it's called the O2. It floats in the Fall of Warness, off the Scotland coast, and generates power from strong tides. A cable connects the O2 to land where the 2 megawatts it generates can power about 2000 homes for a year. The power also is used in an experiment to generate hydrogen without the use of fossil fuels. b

No Biting! Use Your Words! I think. Therefore, I am.

https://orbitalmarine.com/o2-power-generation/

Try to Keep Up I've got to get my steps in.

While humans wear Fitbit devices on their wrists to track their steps over time, scientists got the idea to use Fitbit-like accelerometers with GPS location tracking to discover how groups of baboons travel together. The results? The older and faster baboons slow down to keep their group of up to 150 animals together while the young baboons work harder to keep up the pace. Baboons typically defer to more powerful group members when confronted one-onone, but when they travel as a group, everyone works to keep a comfortable pace regardless of status or age. b ttp://https:// cosmosmagazine. com/nature/animals/ baboons-wearingfitbits-revealcommunity-secrets/ LEILA BOUJNANE, UNSPLASH

JAMIE STREET, UNSPLASH

FluentPet is an educational toy for dogs. It's a set of large buttons with words on them. It can be used to teach any dog to use words to express their thoughts and feelings. A dog named Bunny is apparently able to describe its dreams using FluentPet. And there is some science behind the idea. Woof. b https://fluent.pet/


19 19

Girls’ STEAM Group Helps the Homeless

What Stinks? Why not build a 3D artificial nose? 3D print a nose, connect it to a gas analyzer on a Wio board, use machine learning artificial intelligence, and your smart nose will be able to smell the difference between coffee and tea. The project takes a few hours and costs around $100. Unfortunately, the nose is too big to wear. But this project provides an opportunity for fun while learning about how real noses and machine learning work.

's a There wered po rsola there! tent in

IMAGE FROM GOODSHOMEDESIGN.COM

b

https://makezine.com/ projects/second-sense-buildan-ai-smart-nose IMAGE FROM MAKEZINE.COM

Waze Won't Help You Here Video games have one obvious flaw: you can’t explore them apart from racing through a game or sitting on the sidelines after a crash. These backgrounds can be as interesting as the games that run through them. The Noclip.website includes many video game backgrounds that can be explored with keyboard arrow keys or the W A S D keys. Click the Shift key to speed up or the / key to slow down. Click the red folder icon at the top left to select a game and platform. Games for Wii, Nintendo, Playstation, Xbox, and PC platforms are included. Not compatible with iOS. b https://Noclip.website

As part of its “Invent Girls” STEAM program, the DIY Girls helped a team of female students at San Fernando High School develop a tent shelter for homeless people living on the streets in Los Angeles. The portable shelter prototype that collapses into a backpack uses renewable solar energy to power basic electrical devices and UVC LEDs to sanitize the interior. It also protects against Los Angeles’ desert climate with insulating materials. The invention was created as a part of the Lemelson-MIT InvenTeam challenge program in 2016. It's a great example of what students can achieve. b https://www.goodshomedesign. com/all-girl-engineer-teaminvents-solar-powered-tent-forthe-homeless/ https://youtu.be/qtkG0HuRkqg https://www.diygirls.org/programs https://lemelson.mit.edu/ inventeams


20

h t i W m a y r n g n o h Pro T d n a o c i P

Programming Languages

BY JO HINCHCLIFFE

The Pico is an incredibly powerful microcontroller board from Raspberry Pi that offers a straightforward way to start programming and learning. At $4, it’s very affordable and you can program it with pretty much any computer, including a Raspberry Pi. The Pico can be programmed in numerous languages and the code can be created using different software programming environments. In this guide, we’re going to program the Pico using the popular MicroPython language. There are plenty of tutorials and support material for Pico projects on MicroPython online. So, if you are a beginner, you just need to go online to ask for help or research a solution. First let’s install some brilliant free software to program our Pico. It’s called “Thonny” and it’s available at thonny.org. Download and install Thonny on your computer. Next, grab your Pico and plug a USB cable into it. Press and hold the small button on the Pico while you plug the USB into the computer. If it’s the first time plugging your brand-new Pico into a computer, you don’t need to hold the button down. Launch Thonny and click the “run” drop-down menu. Click “select interpreter” and in the


dialogue box select “Micropython Raspberry Pi Pico”. If everything has gone well it should detect which port your Pico is connected to. Before we close this dialogue box you should see an “install or update firmware” link in the bottom corner. Click this button and Thonny will, rather brilliantly, download and install the latest MicroPython firmware onto your Pico. Don’t worry if you decide later to use a different programming language like C or CircuitPython. You can replace this firmware as many times as you like. A Once the firmware is installed we are ready to start tinkering with code on the Pico. There are a couple of different ways we can do this. We can directly input code to the Pico via the REPL (Read Evaluate Print and Loop), which also can be called the “shell”. We can see the shell input and output window in the lower left-hand corner of the Thonny environment. Any commands written in the shell will immediately be read by the Pico, which evaluates them and prints any response needed back to the shell window. It then loops round to be ready to read the next command. The classic first command to write into a shell is print (“Hello World”) If you hit the return/enter key on your computer you should see that the shell window prints “Hello World”. Another simple and

A

fun experiment for the shell is that it understands mathematical operations without much special code. Try inputting; 233+126 Then hit the enter key. The shell evaluates this, interprets that it needs to perform the math operation and then prints the answer back to the window for you to read. The REPL is useful for experiments and for trying to get small bits of code ideas working well. However, if you turn off and on (or disconnect and reconnect) your Pico, you’ll notice that nothing is saved from your previous REPL session. The other way to run code on a Pico is to write the code and save it as a .py file on the Pico device itself. You can save more than one MicroPython script on the Pico. You can also choose which one to run using Thonny or you can set it up to run a particular program whenever the Pico is powered on. This option is useful for projects you don’t want attached to the computer. B Type the following code into the code input box, taking care to make sure it matches. Notice that all the lines after “while True:” are indented. Thonny should do this automatically for you.

import machine import utime led= machine.Pin(25, machine. Pin.OUT) while True: led.value(1) utime.sleep(1) led.value(0) utime.sleep(1) If you click the “run” button that looks like a green play button, Thonny will open a save window suggesting you save the file to the attached Pico. Give your file a name such as blink.py and hit the OK button. You should now see the built-in LED on the Pico attached to pin 25 start to blink on and off. Now try changing the sleep values in the code to make the LED go on and off faster and slower. If you do this and save the file with a different name you’ll notice that the Pico now has multiple files stored on it that you can open and edit as you would any file. If you want your blink sketch to work without having to plug in the Pico to Thonny and clicking run, just rename the file to main.py and it will run automatically whenever the Pico is powered up. Finally, if you are inspired to learn more about programming the Pico with MicroPython, there is an excellent book you can buy in print or download for free from Raspberry Pi called Getting Started with MicroPython on Raspberry Pi Pico, and it’s available at https:// hackspace. raspberrypi. org/books/ micropythonpico. b

B

21


Programming Languages

22

BY CLARISSA LITTLER

Keywords in Programming Everyone knows the difference between saying, “Let’s eat, grandma!” and “Let’s eat grandma!” Computers don't. In the first case, you’re hungry while in the second case you’re likely a cannibal. Humans understand the two different meanings because of a single comma. Computers, however, can’t handle this kind of uncertainty. Computers don’t guess the meaning of code. They need clear directions and statements. When you’re programming, you might have problems with the functions or variable names you use. Here, in JavaScript the following code may look sensible but it’ll cause a problem when run, see A:

A

Why doesn’t this work? It’s because this is a keyword in JavaScript, also called a reserved word. In JavaScript there are a number of names you can’t use such as this, for, function, or var as either the names of your functions or variables. Every programming language has keywords like this. In Ruby

NICK WALKER, FLICKR

you can’t name a variable yield or until. In Java you can’t name a function class. These keywords have been reserved by the designer of the programming language, and they almost always correspond to words that are important to the syntax of the language: for, if, else, then, var, yield, set, function or fun, etc. That’s the “what” of keywords, but why do languages reserve words for themselves? There are two basic reasons. First, it prevents programmers from using reserved words for functions or variables, which keeps the code clearer. Imagine having a conversation with a friend who used the word “is” to mean, say, “chicken”. They’d say to you, bewilderingly, “Do you want to come over tonight? We’re having is for dinner”. “What is is?” you’d ask cautiously. “Why, is is is!” they’d reply uselessly. At this point you’d probably just throw your phone and be annoyed at them. Similarly, if you could have a function called for or if or else then you’d have confusing code like B: Maybe you can figure out what you mean if you write this, but surely no one else will. The other reason for reserving

words is that it makes life easier for the language creator.

B One of the things that makes programming languages so different from human languages is that they don’t have ambiguity. Ambiguity is when the text that’s written can be read in multiple ways. It’s like the well worn joke about the difference between “let’s eat grandma” and “let’s eat, grandma”. “let’s eat grandma” is ambiguous because it could be read as “telling your grandmother that it’s time to eat” or “declaring your intention to eat your own grandmother”. Of course you and I know that’s probably just announcing to your grandmother that it’s time to eat, but we have to guess that. You don’t want ambiguity in a programming language because it means at some point a guess is going to be made, and guessing is harder to code and harder still to get right. Instead, it’s much easier to restrict what you’re allowed to use as variable and function names. So, in summary, every language has a small set of keywords that are important to the language. You can’t use keywords for names because that would cause ambiguity and make the code harder to understand for both a person reading it and the program executing it. b


beanz STEAM Gift Guide 2021

23

The Elf on the Shelf is on strike, so I'm taking over. I've got my eye on you!

Looking for a gift for someone interested in computing? Want to drop some hints about a gift YOU may want? You'll find lots of ideas inside, for kids of all ages and for all interests.

https://beanzmag.com/steam-tools This resource lists all kinds of STEAM tools for kids, organized by grade level.

eanz st....b s s too . . . s s P t gift a e r g sa make yin'! just sa


24

STEAM Books The Computer Science Activity Book By Christine Liu and Tera Johnson Explore everything from circuits to neural networks, no computer required. https://www. amazon.com/ Computer-ScienceActivity-Book-Paper/ dp/1593279108dp/1593279108

Rosie Revere, Engineer

So You Want to Be a Coder?

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/Rosie-RevereEngineer-Andrea-Beaty/dp/1419708457

What do they do all day? What skills do programmers use and need to know? https://www.simonandschuster.com/ books/So-You-Want-to-Be-a-Coder/ Jane-(J-M-)-Bedell/Be-What-YouWant/9781582705804

Lift-the-Flap Computers and Coding Learn how computers and programming work. Great for all ages! https://usborne. com/us/lift-the-flap-computers-andcoding-9780794535742

Ada Lace Series

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/ Super-Cool-Scientists-Sara-MacSorley/ dp/1534662235/

Great Barrier Thief By Dr. Suzie Starfish This picture book for the younger crowd was written by an Australian marine scientist and artist. https://drsuepillans.com/books/the-greatbarrier-reef/

Robots

By Emily Calandrelli Five books follow Ada Lace, a third-grade scientist and awesome student. https:// www.simonandschuster. com/books/Ada-Laceon-the-Case/EmilyCalandrelli/An-Ada-Lace- Adventure/9781481485982

Magic Tree House: Midnight on the Moon By Mary Pope Osborne Number eight in this series follows Jack and Annie on a trip through time and space. https://www.magictreehouse.com/ books/125151/midnight-on-the-moon

How Technology Works By Dorling Kindersley Publishing This amazing book explains visually how almost every human technology works, https:// www.dk.com/us/book/9781465479648how-technology-works/

Goodnight Exomoon

This fun parody of the classic is written by molecular biologist and computer scientist Kim Arcand and introduces kids to astronomy concepts. For toddlers and younger kids.. https://www.smithsonianmag.com/ smithsonian-institution/inspire-yourtoddlersstemcareergoodnightmoonparody180975520/

Indi Designed for PreK to 2nd grade kids, this new Sphero robot teaches STEM skills without the need for a computer screen. Cards are used to direct the robot. https://sphero.com/pages/sphero-indi

Indi

by Sphero

Botly Botley will have kids as young as 5 coding in minutes. https://www. learningresources.com/botleyr-the-coding-robot Little Robot Friends An easy way to get kids interested in coding and electronics. Each has its own personality. https://littlerobotfriends.com/ Sphero RVR

RVR is drivable right out of the box and built for customization. Works with 3rd party hardware like Raspberry Pi, Arduino, micro:bit. Check out Sphero Bolt, too. https://www.sphero.com/rvr

Robo Wunderkind

This modular robot from Austria snaps together to make simple or complex robots. https://robowunderkind.com/

DJI RoboMaster S1 Includes 40+ components that let you explore science, physics, AI, and more. https://www.dji.com/robomaster-s1 Dash and Dot For elementary school age kids. Also check out their Cue robot! https://www.makewonder.com/robots/dash/ https://www.makewonder.com/ robots/cue/ LEGO Mindstorms Take the LEGO idea and add icon-based programming and other mobile pieces. https://www.lego.com/en-us/themes/mindstorms/about Cubetto Program the Cubetto robot with touch. Geared towards young kids. https://www.primotoys.com/ Code-a-Pillar Change the caterpillar's segments to make it go. https://www. fisher-price.com/en-us/product/think-learn-code-a-pillar-twist-gfp25

Ozobot

Two small robots, Evo and Bit, provide a deceptive amount of learning opportunities, creativity, and fun. https://ozobot.com/ ANDY HAY, FLICKR


Maker and Electronics Kits Piper Follow real engineering blueprints to build your own computer then use Pipercraft, a Minecraft mod, to configure it. You also can build gadgets with electronic boards. Steve Wozniak, co-founder of Apple, apparently loves Piper. Includes wood case. https://www.playpiper.com/

Bitsbox

Apps

Piper Make Starter Kit

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 learning and becoming comfortable with code. A new box of games arrives each month. Ages 5+. https://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. Ages 8+.https://eraseallkittens.com/ Codea Codea is an iPad app to create games. Adapt existing code or create from scratch. The app has lots of functionality and few limits. Ages 10+. https://codea.io/ Hopscotch

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+ https://www.gethopscotch. com/

Tynker Tynker is a block language. Drag and drop blocks and configure them. Move blocks, find sprite images, and make the blocks do things. Ages 5+ https://www. tynker.com/ Move the Turtle Move a “turtle” around the screen 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 coding 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. Find Python projects on Repl.it website. Run Marco! A coding adventure game in English and 26 other languages. Kids use conditional logic and critical thinking. https://runmarco.allcancode.com/

construction toy created by Nintendo. If you have a Switch console, Labo lets you create all kinds of neat projects. https:// labo.nintendo.com/

Adafruit Laboratories You can find all things electronics on their site, as well as tutorials and fun projects. https://www. adafruit.com/ Jewelbots Create friendship bracelets with functionality kids can code. https:// jewelbots.com/ 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 These tech toys are kits kids can build to mix building, craft, science, tech, coding, and fun. https:// www.techwillsaveus.com/

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:// codespark.com/

littleBits Easy snap-together electronic pieces make a large number of different kits. https://littlebits.com/

Hopscotch HTTPS://WWW.GOVILNIUS.LT

Labo by Nintendo A game and

25


26

Kano

Kiwi Co Kits created by a team of educators, makers, engineers, and rocket scientists delivered monthly, with projects geared towards all ages. Each month a new STEM project arrives in the mail with materials, blueprints, and more ideas to learn and have fun. https://www.kiwico. com/ Snap Circuits

Snap together circuit projects teach kids the basics of electronics. https://www.elenco.com/ brand/snap-circuits/

Redfern Robot kits with motors, LEDs, and sensors. All programmable with a Scratch-like drag and drop language. https://redfernelectronics.co.uk/shop/

Kano

This is a very simple snap 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

SAM Labs

Their app-enabled electronic construction kits teach STEAM skills using Bluetooth-enabled blocks. https://samlabs. com/

Secret Codes Kits and Books Top Secret: A Handbook of Codes, Ciphers, and Secret Writing This takes a slight turn away from kits, but it does cover a lot of the codes used throughout history, and gives

Cracking Codes with Python This book combines two fun experiences: Python, and secret codes. All kinds of ciphers are covered with details about how to use Python to break them. https:// nostarch.com/crackingcodes

Telegraph Kit: The Science Cube Let the kids make their own machine. Definitely a cool gift idea for anyone who wants something physical to engineer. https://us.amazon.com/Telegraph-KitThe-Science-Cube/dp/B0082CRY7A

Secret Decoder Deluxe Activity Set some test codes to break. https://www.barnesandnoble.com/w/topsecret-paul-b-janeczko/1100671619

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


27

Board Games

Some of the best ways to learn about programming are through board and card games. You don’t need electricity or a computer. Here are fun games for little kids, bigger kids, and families. Playing these games as a family can help younger kids understand them more quickly than if they were to play the games by themselves.

Robot Turtles Robot Turtles is a great board game with some neat extensions like an online community where you can create your own game boards. These games sometimes let you replace the object you direct in the game with a person like your child, or a parent, adding another level of fun and engagement. https://www. thinkfun.com/robot-turtles/

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 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. https://www.thinkfun.com/ products/code-master/

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 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

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.

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, there is a VR 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. Includes a programming tool to create VR games and experiences. https://labo.nintendo.com/kits/vr-kit/ Oculus Quest The Quest is an all-in-one gaming system built for virtual reality. Now you can play wirelessly almost anywhere with just a VR headset and two controllers. The Quest scores very well in reviews by CNet and others. https://www.oculus.com/quest/

Google Cardboard

HTC Vive Cosmos While this is the most elaborate VR setup, the use of base stations to fix your position can provide more space to move around. You’ll also need a powerful computer. There’s also the HTC Vive Pro and Focus which are expensive but include high end equipment and features. For the Cosmos headset, scroll down their Products page to see the three options. https://www.vive.com/us/product/ 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/enus/ps-vr/

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/

Nintendo Labo

Google Cardboard

b


In the novel, The Martian, saying that settling Mars poses some serious problems would be an understatement. The story is about Mark Watney, a botanist and a crew member on a mission to Mars who is left alone on the red planet. He encounters calamity after calamity. However, each time he faces a seemingly insurmountable setback, he succeeds by following his core philosophy—“work the problem”. This focus on problemsolving as a process (or even an art) is something from which students of all ages could benefit. Learning how to work problems through decomposition, pattern recognition, or even just gaining a fresh perspective are skills that can prove to be invaluable. That’s why, along with my 6th grade English, Math, and Science teacher colleagues, I'm planning a mission to Mars. One of the reasons I liked this idea upon first hearing it is that creating a settlement on Mars is fraught with big, thorny problems. On the YouTube channel Kurzgesagt the video “Building a Marsbase Is a Horrible Idea: Let’s Do It!” shows all the problems facing future mission designers. The red planet has almost no atmosphere and would require pressurized buildings and space suits. It is also plagued by raging

dust storms, and its dust is so fine that breathing it or letting it into buildings would be disastrous. On top of that, the lack of an atmosphere means that the planet is bombarded by radiation and any settlements would have to be shielded considerably from the sun. Daunting at first glance. But staying positive and using problem solving skills is the goal. In my class, I am asking students to use their 3D design skills to design and print the structures that will house our settlers. This idea is not as far-fetched as it seems. In 2019, NASA awarded $500,000 to the architecture firm AI SpaceFactory for their design of a conical Mars habitat 3D-printed from materials available on the red planet. Using a concrete made up of Martian soil, 3D printed designs might be the solution that could make a Marsbase possible. Students will have to contend with the problem of designing pressurized structures that contain robust air locks. They will also need to consider how to shield the settlement from the sun's radiation. Moreover, they can't forget to consider the mental health and wellbeing of settlers who will be struggling with the effects of low gravity millions of miles

away from home. All of these factors put some very challenging constraints on the students, but none of these problems are insurmountable. When problem-solving is framed as a process, it gives students a pathway forward when they may feel stuck. Always first and foremost in this process is defining and decomposing the problem. By looking at the problem and decomposing it (teasing out smaller and more manageable problems from larger ones), they can find a place to start. In one assignment in our unit, students decompose the habitat problem down to just the issue of airlocks and dust. Using small doorways or foyers around the school, they can test their theories and possible solutions. From there they can iterate through the process and redesign as necessary until they find the solution they are looking for. Teaching students the cognitive skills necessary to tackle tough problems is important with any age group, but it is especially pertinent to adolescents. Using a Mars mission as a model, we hope students will find similar agency with other problems they face, from algebra to the fiveparagraph essay. Teaching them how to approach these moments with a clear and level-headed process makes them stronger academically and teaches them how to work independently. With any luck, maybe one day they will find themselves applying these methods in a space-related career such as Astrophysics, Engineering, or Artificial Intelligence. b

MIKE KIEV, UNSPLASH

Parents and Teachers

Lessons From Mars

29 BY TIM MCGUIGAN


“A computer will do what you tell it to do, but that may be much different from what you had in mind." –Joseph Weizenbaum

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. Art in Partnership https://beanzmag.com/ art-and-computing

Flower Power! https://beanzmag.com/ tommy-and-colossus

Code With Pics In Pyret https://beanzmag.com/ coding-pyret

Fractured Fairy Tales, Part 2 https://beanzmag.com/ scratch-fairy-tales-2

Hey Stadium...Beam Me Up a Snack! https://beanzmag.com/ smart-sports-stadiums G Whiz! https://beanzmag.com/ 5g-explained Learn to Code...Without a Computer https://beanzmag.com/ coding-workbook-html-css What's the Point?! https://beanzmag.com/ not-equal-operator-history

Program With Pico and Thonny https://beanzmag.com/ pico-board-get-started

Keywords in Programming https://kidscodecs.com/ Open Source Projects Can Help keywords Young Coders Learn STEAM Gift Guide 2021 https://beanzmag.com/ https://beanzmag.com/ open-source-projects-beginners 2021-steam-gift-guide What's Your Type? https://beanzmag.com/ https://www.kidscodecs.com/ what-is-a-font/ Textiles and Textfiles https://beanzmag.com/ textiles-computation

Lessons from Mars https://beanzmag.com/ students-solve-martianproblems e! bscrib u s s s s Sss

tidbitz https://beanzmag.com/ october-2021-news-wire

https://beanzmag.com/subscribe


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.