
Helping Kids with Coding For Dummies
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
Getting a jump on learning how coding makes technology work is essential to prepare kids for the future. Unfortunately, many parents, teachers, and mentors didn't learn the unique logic and language of coding in school. Helping Kids with Coding For Dummies comes to the rescue. It breaks beginning coding into easy-to-understand language so you can help a child with coding homework, supplement an existing coding curriculum, or have fun learning with your favorite kid.
The demand to have younger students learn coding has increased in recent years as the demand for trained coders has far exceeded the supply of coders. Luckily, this fun and accessible book makes it a snap to learn the skills necessary to help youngsters develop into proud, capable coders!
* Help with coding homework or enhance a coding curriculum
* Get familiar with coding logic and how to de-bug programs
* Complete small projects as you learn coding language
* Apply math skills to coding
If you're a parent, teacher, or mentor eager to help 8 to 14 year olds learn to speak a coding language like a mini pro, this book makes it possible!
More details
Other editions
Additional editions

Content
- Intro
- Title Page
- Copyright Page
- Table of Contents
- Introduction
- About This Book
- Foolish Assumptions
- Icons Used in This Book
- Where to Go from Here
- Part 1 Getting Started with Coding
- Chapter 1 Welcome To (Or Back To) Coding
- Why Kids Are Coding
- What are they learning?
- How are they learning?
- What does it mean down the road?
- Why You Need to Know Coding
- Fear and loathing (of coding)
- You may already know more than you think
- Where Do You Come In?
- In the classroom
- Camp or after-school coach
- Mentor
- Working with Young Coders
- Chapter 2 Understanding the Big Ideas
- Seeing the Big Picture in Coding
- Acting Out the Big Picture, Unplugged
- Dramatizing a noncoding process
- Walking through some daily tasks
- Creating an Algorithm
- Turning a picture into words
- One possible vacuuming algorithm in code
- Representing Algorithms
- Acting it out
- Drawing a picture
- Creating a storyboard
- Building a flowchart
- Writing pseudocode
- Commenting the bones
- Organizing with Sequence, Selection, and Repetition
- Sequence
- Selection
- Repetition
- Including Randomness in Your Coding
- Chapter 3 Figuring Out Programming Languages
- What You Want in a Language
- Free Languages for Tots and Kids
- The Foos
- Think & Learn Code-a-Pillar
- Daisy the Dinosaur
- Scratch Jr.
- Free Languages for Youth and Tweens
- Scratch
- Hopscotch
- Kodu
- Languages for Teens and Older
- Alice
- MIT App Inventor 2
- Python
- JavaScript
- Java
- Other Awesome (Not-So-Free) Languages
- MicroWorlds EX
- Tynker
- GameSalad
- Part 2 Getting Your Hands on Code
- Chapter 4 Working with Words
- Communicating with Text
- Showing Text Onscreen
- Using pseudocode
- Using Scratch
- Using Python
- Using HTML
- Using JavaScript in an app
- Using Java
- Words In, Words Out
- Using Scratch
- Using Python
- Using HTML and JavaScript
- Using JavaScript in an app
- Combining Text Onscreen
- Using pseudocode
- Using Scratch
- Using Python and other languages
- Formatting Text Onscreen
- A Mad Libs Example
- Chapter 5 Knowing Where You Are. . . and Where You're Going
- Acting Out Position, Unplugged
- Setting and Finding Position
- Using pseudocode
- Using Scratch to set position
- Using Scratch to find position
- Using JavaScript
- Positioning Objects Randomly
- Using Scratch
- Using JavaScript
- Setting and Finding Direction
- Using pseudocode
- Using Scratch
- Setting Object Direction Randomly
- Using Scratch
- Turning
- Using pseudocode
- Using Scratch
- Acting Out Motion, Unplugged
- Making an Object Move
- Using pseudocode
- Using Scratch
- Using JavaScript
- Asteroid Blaster
- Chapter 6 Getting Fancy with Graphics and Sound
- Sizes of Images and Sounds, Unplugged
- Activities surrounding images and sounds
- Knowing your sizes
- Using Graphics in Your Programs
- Image file types
- Creating images
- Finding images on the web
- Importing a JPEG or PNG in Scratch
- Importing a GIF in Scratch
- Importing a JPEG, PNG, or GIF in JavaScript
- Adding Sound to Your Programs
- Sound file types
- Creating original sounds
- Finding sounds on the web
- Importing sounds into Scratch
- Importing audio into JavaScript
- Creating a Sound Board
- Part 3 There IS Math on This Test!
- Chapter 7 Tackling These Ever-Changing Variables
- Acting Out Variables, Unplugged
- Variable parts
- Dramatizing variables
- I Do Declare (And Initialize)
- Using pseudocode
- Using Scratch
- Using Python
- Using JavaScript
- Using Java
- Checking on Variable Values
- Using Scratch
- Using Python
- Using JavaScript
- Using Java
- Incrementing and Decrementing Variables
- Using pseudocode
- Using Scratch
- Using Python
- Using JavaScript
- Using Java
- Creating a Stock Ticker
- Chapter 8 Computing Using Math
- Acting Out Math, Unplugged
- Number types
- Dramatizing math
- Doing Simple Math
- Using pseudocode
- Using Scratch
- Using Python
- Doing Advanced Math Operations
- Using pseudocode
- Using Scratch
- Using Python
- Oh So Mod - Using the Mod Operation
- Using pseudocode
- Using Scratch
- Using Python
- Ordering Those Operations (PEMDAS)
- Using Scratch
- Using Python
- Rounding
- Rounding via casting in Java
- Rounding decimals to integers via methods
- Generating and Using Random Numbers
- Using pseudocode
- Using Scratch
- Using Python
- Coding a Crypto Code Maker
- Chapter 9 Helping with Logic Operations
- Simple Logic, Unplugged
- Programming Simple Conditionals
- In pseudocode
- In Scratch
- In Python
- In JavaScript
- In Java
- Advanced Logic, Unplugged
- Coding Compound Conditionals (aka, AND, NOT, and OR Will Get You Pretty Far!)
- In pseudocode
- Compound conditionals in Scratch
- In Python
- In JavaScript
- In Java
- Rock, Paper, Scissors
- Chapter 10 Getting Loopy
- Loops, Unplugged
- Repeat fun, unplugged
- Random loop conditions, unplugged
- Loop Types and Structures
- Infinite loops
- Actions repeated in loops
- Conditions of loops
- Using pseudocode
- Using Scratch
- Using Python
- Nesting Loops
- Using pseudocode
- Using Scratch
- Using Python
- Coding the Classic Fibonacci Sequence
- Chapter 11 Adding Lists
- Lists, Unplugged
- Introducing Lists
- Using pseudocode
- Using Scratch
- Using Java
- Sorting Lists
- Selection sort: An easy sorting algorithm
- Common application: Arranging numbers in order
- Searching Lists
- Linear versus binary searching algorithms
- Common application: Finding a phone number
- Chapter 12 Coding Subprograms
- Subprograms, Unplugged
- Starting with Pseudocode
- Creating a Spirograph with Subprograms
- Pseudocode
- Scratch
- JavaScript
- Java
- Coding Subprograms with Parameters
- Scratch code block with parameters
- JavaScript, with parameters
- Java, with parameters
- Part 4 Applying What You Know
- Chapter 13 Fixing Problems by Debugging
- Debugging, Unplugged
- Finding Common Syntax Errors
- Scoping errors
- Typing errors
- Incorrect data types
- Finding Common Semantic Errors
- Infinite loops
- Off by one
- Strategies for Debugging
- Turning sections on and off
- Testing sample data
- Adding output messages
- Walking Away
- Chapter 14 Creating a Webpage
- Getting Set Up
- Creating a Basic Webpage Layout
- The skeleton: HTML basics
- The aesthetics: CSS
- Getting Fancy with Color and Graphics
- Adding color to your page
- Introducing graphics
- Adding Hyperlinks
- Going Interactive with JavaScript
- Adding buttons
- Changing your page with buttons
- Combining HTML, CSS, and JavaScript
- Chapter 15 Building a Mobile Game
- Getting Started with MIT App Inventor
- Community and support within MIT App Inventor
- The layout of MIT App Inventor
- Using an Emulator versus a Real Device
- Using the Android Emulator
- Using a real Android device
- Testing on the emulator and Android device
- Designing Mobile Apps
- Adding the Components in Design View
- Coding Your Mobile App
- Getting your puppy moving
- Setting up your start screen and variables
- Coding random placement of items
- Coding collision with items
- Levels, timers, and final score
- Distributing Your Apps
- Chapter 16 Programming Simple Electronics
- Gathering Your Hardware
- The micro:bit board
- Buying the board and components
- Accessing the Software
- Navigating the interface
- Writing and using a program
- Don't Wake Baby Gadget
- Flowcharting the program
- Writing the code
- Downloading code to the micro:bit
- Connecting hardware components
- Testing the device
- Trying Wacky and Fun Variations
- Part 5 The Part of Tens
- Chapter 17 Ten Do's and Don'ts for Selecting a Kids Coding Curriculum
- DO Find the Right Entry Level
- Getting started in elementary grades
- Getting started in the middle grades
- Getting started in high school grades
- DON'T Assume Cost Equals Quality
- DO Balance Lessons with Free Exploration
- DON'T Instantly Dismiss Teaching Languages
- DO Consult CSTA for Guidance
- DON'T Buy "Coding" Toys for Babies
- DO Emphasize the Soft Skills
- DON'T Let Kids Get Stuck in a Loop
- DO Present the Bigger Picture
- DON'T Stereotype Coders
- Chapter 18 Ten Ways to Keep the Coding Learning Going
- Unplugged
- Research Pioneers of Computing
- Go Lateral from Code
- Language Tracking
- Smart Home Projects
- Include Outside Passions
- Open-Source Projects
- Group Projects
- Community Support
- Portfolios
- Index
- EULA
Chapter 1
Welcome To (Or Back To) Coding
IN THIS CHAPTER
Why kids are coding
Why you need to know coding
Where do you come in?
Working with young coders
Who are you and where do you fit into the brave new world of coding? You may be a newbie programmer who wants to learn or "level up" coding skills to coach the next generation of kiddos to programming success. Or perhaps you're a seasoned programmer who wants to "dial it down" and explore a good starting point for kid coders. Or perhaps you're someone in between - you've coded in a past school or career experience - maybe in a language that's lost steam - and now you're returning to the practice to learn the newest tricks of the trade.
Whoever you are and whatever your goal, we're excited to welcome you to (or back to) coding!
In this chapter, you find out why kids are coding and why so much attention is currently focused in education on the discipline of computer programming. We also talk about the range of roles you can play in the teaching and learning of computer science, and identify strategies you can employ when working as a coding teacher, parent, or coach.
Why Kids Are Coding
Literacy has been a societal goal for centuries, with conscientious parents and teachers working to ensure that the children in their charge learn the skills necessary to succeed in their careers and in life. Until the 1970s, literacy meant mastering the traditional three "R's" of "reading, 'riting, and 'rithmetic" (spelling was considered less necessary). As technology started becoming commonplace, computers started appearing in educational settings, and tech literacy became viewed as the fourth literacy.
Fast-forwarding to the 21st century, technology has become so ubiquitous that not only is tech literacy a skill that makes you educated, it's a skill that makes you highly marketable in the workplace. While tech literacy can include general skills such as word processing, generating spreadsheets, and creating slideshow presentations, the real skills lie in computer programming, or coding. That's because coding allows people to be not just users of technology, but producers of it (at least on the software end of things).
Schools are recognizing that to prepare kids for their futures, a good education must include coding instruction. In some countries, including the United Kingdom and Canada, coding instruction is a national directive. In others, such as the United States, fewer than 10 percent of schools teach coding. To fill in the gaps, many online courses, after-school programs, and summer camps are providing kids instruction in coding. Just like learning to ski or learning a foreign language, learning the basics of coding is best accomplished at a young age: Every learning experience is "new and different" and it's easy to get back up when you fall down. Regardless of who is delivering the instruction, kids everywhere are coding - and you can help facilitate that learning with the kids in your life using the guidance provided in this book!
What are they learning?
Kids are learning more than just coding. They're devising solutions to problems, building games, and creating programs that do the routine and redundant work humans don't want to do. There's a lot kids have to learn to perform those tasks. Here's a quick rundown of what they're learning:
- Computational thinking: Computational thinking is the reasoning and planning you perform "in your head" when translating a problem and solution into a process that a computer can perform.
- Algorithmic thinking: Algorithmic thinking is mapping out an organized, efficient set of steps, which you can use and reuse to perform a task.
- Communicating in a foreign language: No, not an international language that's native to a country or people on Earth. But they are learning to communicate in a language that's not their native tongue - the language of computers. And they have to learn new words, new punctuation, and new rules for establishing successful communication.
- Patience and resilience: No matter what you're making - a computer program, a musical performance, or a gourmet meal - patience is required to learn a new skill, and resilience is required to bounce back from challenges to master that skill.
- Creativity: Contrary to popular belief, coding is not the cold, calculating discipline you may think it is. From inventing novel solutions to a problem, to inventing new video games, creativity is inherent in the coding process.
- Troubleshooting: Troubleshooting, or debugging code, means tracing and retracing your steps - sometimes by isolating and testing smaller sections of code, sometimes by tracing through the syntax, and sometimes by testing sample data to example the output - to find and fix problems.
How are they learning?
Kids are coding on their tablets, laptops, and desktops, using a variety of widely available software tools, many of which are free! They are using books, online resources, and tutorials in web and video formats, and discussions with friends to guide them.
Unlike the early days of coding, many of the programming languages and environments kids are using are visual in nature. Many offer tile or block-based formats in which kids can drag and assemble code blocks together like interlocking puzzle pieces to create programs. This type of structure allows kids to tinker without worrying about spelling commands correctly, syntax (grammar), or punctuation. Modern, introductory languages often feature built-in "assets" such as character costumes and sound effects. And they usually provide some sort of error reporting to help kids in their debugging.
If you tried coding before the 21st century, you probably learned text-based, also known as "line" coding; the new, visual ways of coding are most likely foreign to you. You may have used languages such as Basic, Pascal, COBOL, or FORTRAN. While these languages have mostly faded away in popularity, they were powerful tools and popular in their heyday. Other "older" languages you may have used which are still around today include C, Python, Visual Basic, Ruby, Lua, and R. If you had the opportunity to tackle some serious coding, you may have worked with C++, Java, or JavaScript - some of the past and current heavy hitters in the coding world. The main kid-friendly language of yesteryear was Logo, what you may recall as the "turtle" language. Invented by MIT professor Seymour Papert, Logo and its derivatives were popular in schools, and still exist in several modern incarnations today. "Turtle" languages were about as close as most kids got to non-text based coding prior to Y2K. Fortunately, the more kid-friendly coding environments now available provide a lower floor for entering easily into the world of programming.
Some purists are not fond of "kid" computer languages, especially those that are block-based, expressing concerns that this structure is not realistic, nor professional. They worry that these types of environments are not sufficiently authentic to lay proper foundations for future coding. However, research indicates that exploration in these languages still build the desired programming skills cultivated by working in more traditional, text-based, coding environments.
What does it mean down the road?
Your efforts in helping kids get started with coding lay the foundations for them to pursue more challenging programming activities in the future. You can help them build content skills, confidence, and the mindset required to succeed at coding. Whether they choose a career in computer science, or just dabble in writing small programs for various projects, your positive guidance and support contributes to developing an educated and confident young person. Who knows, you might even be responsible for cultivating the next Grace Hopper or Bill Gates!
COMPUTERS IN SCHOOLS
Kids have been coding since the first computers appeared in schools in the 1970s. Camille's school, Boone Elementary in San Antonio, Texas, received a teletype computer on which she had a 15-minute rotation once a week (although she often found ways to obtain additional time on the device). Operating essentially as a dumb terminal, the computer sent and received information over a simple telephone line, issuing drill-and-practice style math problems printed on giant rolls of form feed paper. Students would press the resistant, plastic buttons to input their answers. Following the completion of a problem set, the computer would respond with a score - at which time you would leap with joy if you earned 100%, or finagle more time to attempt another set if you had failed to reach the magical perfect score. Those were the days!
Why You Need to Know Coding
You have this book in hand, but you may still be asking yourself why you need to know coding. Why should you learn to code when your young coder has a teacher or a camp instructor or a YouTube video guide?
You should learn to code for many reasons:
- The more you know, the better you can help. More content knowledge and more relevant experience on your end leads to better...
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.