Hello World! – Updated book brings new fun to learning Python – #programming #bookreview

Sande--Hello World!, 2e

Hello World!

Computer Programming for Kids and Other Beginners (2nd Edition)

Warren Sande and Carter Sande

(Manning, paperback)

Many politicians, educators and pundits keep arguing over whether the United States should offer computer programming classes to all students in kindergarten through 12th grade.

Others say all of us, including senior citizens, should do some coding to help us (1) maintain mental sharpness and good computer skills and (2) ward off late-in-life memory problems such as dementia.

These contentious debates are a long way from being settled, of course. Meanwhile, questions also rage over which programming languages we should learn. There are, after all, many dozens now in use.

Experienced software developers often state that Python is a good choice for youngsters ready to tackle their first “real” language, particularly once they have spent some time mastering Scratch, which MIT describes as “a programming language and an online community where children can program and share interactive media such as stories, games, and animation with people from all over the world.”

Manning Publications recently has brought out an updated second edition of its popular Python how-to book, Hello World!, written by Warren Sande and his son Carter Sande.

Some parents want to hand a programming book over to a child and let them learn at their own pace. And that can be done, in many cases, with Hello World! (It is written at a 12-year-old’s reading level, according to Manning). But other parents want to share the learning experience and be mentors, too, and the Sande book can be used effectively that way, as well. In either case, many children younger than 12 also should be able to learn from it.

Be sure to note the “Other Beginners” in the book’s subtitle. I have taken classes in Python, and I have worked my way through a couple of  Python programming books. Hello World! is proving a useful addition to my library, too, because it gives some clear explanations and examples for  many different concepts, such as using variable nested loops, importing portions of modules, or providing collision detection in a game, to name just a few.

One big question quickly pops up when someone decides to learn to program in Python: Python 2 or Python 3?

Several years ago, the language was updated from version 2 to version 3, but many users of version 2 chose to not upgrade. So now we recently have had Python 2.7.6 and Python 3.3.3 (with Python 3.4 coming soon). The two versions have some similarities, but they also have essential differences. Bottom line: They do not play well together.

In this second edition of Hello World!, the authors have elected to stick with Python 2 in their text and code examples. But they have added notes to help make the code work for students using Python 3. Likewise, they have added an appendix explaining some major differences between Python 2 and Python 3.

Other significant changes include using color in illustrations and code listings and, in the chapter on GUI programming, using PyQT, rather than the no-longer-supported PythonCard. And the updated book now spans more than 460 pages, including its index.

With Hello World!, even the most eager student who is a very fast reader can be kept focused and busy for many hours while learning how to program in Python.

Si Dunn

Make an Arduino-Controlled Robot – #diy #bookreview

Make an Arduino-Controlled Robot
Michael Margolis
(O’Reilly – paperback, Kindle)

Technology now makes it relatively easy to build simple robots that can be controlled remotely or can control themselves autonomously using built-in sensors and software.

This engaging how-to guide focuses on how to build and program a small robot that can roam around, sense its environment, and perform a variety of tasks, using either type of control.

Make an Arduino-Controlled Robot is an excellent book for teachers, hobbyists and experimenters who like working with software and hardware. The book’s simple robot moves about on a chassis that has two-wheel or four-wheel drive. And its heart is an Arduino Uno or Arduino Leonardo microcontroller running programs (“sketches”) provided in the book and available at a link for download.

Some basic assembly is required, including gathering parts and circuit boards and doing some soldering and mechanical assembly, following the book’s instructions. The robot can be built on small platforms from DFRobot or platforms of your own creation. And devices can be added, including distance sensors, infrared reflectance sensors, and remote control receivers.

The book is “not an introduction to programming,” however. If you have no experience with programming or programming Arduino microcontrollers, the author recommends two books: Getting Started with Arduino, 2nd Edition, and Arduino Cookbook, 2nd Edition.

Make an Arduino-Controlled Robot has 11 chapters and six appendices. The chapters are:

  1. Introduction to Robot Building
  2. Building the Electronics
  3. Building the Two-Wheeled Mobile Platform
  4. Building the Four-Wheeled Mobile Platform
  5. Tutorial: Getting Started with Arduino
  6. Testing the Robot’s Basic Functions
  7. Controlling Speed and Direction
  8. Tutorial: Introduction to Sensors
  9. Modifying the Robot to React to Edges and Lines
  10. Autonomous Movement
  11. Remote Control

The appendices are:

  • Appendix A: Enhancing Your Robot
  • Appendix B: Using Other Hardware with Your Robot
  • Appendix C: Debugging Your Robot
  • Appendix D: Power Sources
  • Appendix E: Programming Constructs
  • Appendix F: Arduino Pin and Timer Usage

Whether you love serious experimentation and invention or just tinkering for fun and mental challenge, Make an Arduino-Controlled Robot opens up many possibilities for individual, family, and classroom activities and learning.

Si Dunn

Python for Kids – A fun & efficient how-to book that even grownups can enjoy – #programming #bookreview

Python for Kids
Jason R. Briggs
(No Starch Press – paperback, Kindle)

Subtitled “A Playful Introduction to Programming,” Python for Kids is recommended “for kids aged 10+ (and their parents).”

But what if your kids are grown or you don’t have any kids? Should you ignore this book while learning Python? Absolutely not.

I’ve recently taken two Python 3 classes, and I wish I had had many of the explanations and illustrations in Python for Kids available to help me grasp some of the concepts. I’m keeping this book handy on my shelf for quick reference, right next to works such as Head First Python and Think Python.

Yeah, it contains plenty of silliness for kids, such as a wizard’s shopping list that includes “bear burp” and “slug butter,” and using if and elif statements to create jokes such as “What did the green grape say to the blue grape? Breathe! Breathe!” (I have grandchildren who consider this stuff uproariously funny.)

But Python for Kids also covers a lot of serious topics in its 316 pages and shows—simply and clearly—how to handle many major and minor aspects of the Python programming language. NOTE: This book is for the newer 3.X versions of Python, not older 2.X versions that are still in use and still a focus of some books for beginners.

One Python class I took didn’t introduce tuples until the 7th week of lectures. Python for Kids, however, has the reader using tuples on page 38, right after six pages of learning how to work with strings and lists. And the explanations and examples for these elements are clearer than what I got in a college-level course. (Of course, it helps when exercises involve “bear burp” and “gorilla belly-button lint” rather than boring generics such as “Mary has 3 oranges” and “Jack has 6 pencils.”)

Jason R. Brigg’s new book also shows how to draw shapes and patterns and create simple games and animations—topics not covered in some other beginning Python books I have used.

Another cool feature of this excellent how-to book is an afterword titled “Where to Go from Here.” It provides suggestions and gives links for those who want to learn more about games and graphics programming or take up other programming languages such as Ruby, PHP or JavaScript.

Bottom line, Python for Kids offers education and entertainment for children, their parents, and almost anyone else serious about having some fun while learning Python 3.

Si Dunn

Surviving Orbit the DIY Way – You, too, can launch a satellite – #diy #science #bookreview

Surviving Orbit the DIY Way
Sandy Antunes
(O’Reilly, paperbackKindle)

Okay, it’s not exactly Star Trek. For less than the price of a reasonably good used car, you now can build your own picosatellite from a kit, get it launched into low Earth orbit by commercial rocket, and receive data from space.

Surviving Orbit the DIY Way is a new book in O’Reilly’s four-book series focusing on do-it-yourself satellites. The project book’s focus is “Testing the Limits Your Satellite Can and Must Match.”

The first book, DIY Satellite Platforms, was released by O’Reilly in January, 2012, and focuses on “Building a Space-Ready General Base Picosatellite for Any Mission.” A forthcoming book, DIY Instruments for Amateur Space, will emphasize “Inventing Utility for Your Spacecraft Once It Achieves Orbit.” And a future book will show how to install miniature radio equipment in your picosatellite, so you and others can receive its data transmissions.

In Surviving Orbit the DIY Way, the text describes the conditions a picosatellite faces in orbit. It also explains how to build and use a $100 thermal vacuum chamber , plus an inexpensive centrifuge, vibration test stand, and other do-it-yourself test facilities needed to prepare your picosatellite for the stresses of launch and deployment.

Writes the author: “…with a bit of boldness and a strong do-it-yourself spirit, you can be flying your own picosatellites ‘the maker way’.”

You won’t be boldly going where no one has gone before, of course. Yet, with picosatellites, you can join the numerous schools, groups, and individuals now putting useful and educational low-budget space experiments into orbit around Planet Earth.

Si Dunn

Super Scratch Programming Adventure – Kids can learn programming without typing code – #bookreview

Super Scratch Programming Adventure
The LEAD Project
(No Starch Press, paperback)

Scratch is widely popular, free educational software for children ages 8 and up. And its simple, graphics-based programming language has a dual mission, says Professor Mitchel Resnick, director of the Massachusetts Institute of Technology’s Scratch Team. The MIT group helped develop the software in partnership with The Learning through Engineering, Art, and Design (LEAD) Project based in Hong Kong.

“We designed Scratch to help young people prepare for life in today’s fast-changing society,” Prof. Resnick notes in this book’s foreword.

“As young people create Scratch projects, they are not just learning how to write computer programs. They are learning to think creatively, reason systematically, and work collaboratively—essential skills for success and happiness in today’s world.”

Super Scratch Programming Adventure deftly combines comics and programming tasks with the steps necessary to create “projects inspired by classic arcade games that can be programmed (and played!) in an afternoon.” The book covers version 1.4 of the software.

One thing you definitely don’t do in Scratch is go to a command line and key in some code. The book notes: “Scratch was designed to prevent common beginner pitfalls like misspellings and errors in consistency. Instead of typing commands, programming in Scratch is performed by dragging and joining programming blocks.”

And this isn’t just “Hello, world!” stuff. Soon after meeting the program’s graphic characters and seeing how to operate the program, kids start working at the x-y axis level to control movements by Scratchy the Cat. They also learn how to adjust the speed of Scratchy’s maneuvers and save their file.

From there, the book continues forward in 10 chapters that are organized as increasingly challenging stages. And most of the stages involve creating a new, simple game.

For example, in stage 2, the chapter focus is “Learn how to design new costumes and program a sprite’s movements, reactions, and sound effects.” By stage 7, the focus is: “Learn how to design an interactive maze with a guard, booby traps, and treasure!” By stage 10, children have learned how to upload their own Scratch projects to the Scratch website to share with others around the world (with their parents’ permission, of course).

Many kids may be able to pick up this book, open the program, and figure out everything on their own. But the laudable goals of Super Scratch Programming Adventure are best served when teachers and parents stay involved as mentors.

Besides, you might learn a few new things from Scratch programming, too.

Si Dunn

The Manga Guide to Linear Algebra – Love, karate & mind-bending math in a helpful comic book – #bookreview #in

The Manga Guide to Linear Algebra
Shin Takahashi, Iroha Inoue, and Trend-Pro Co., Ltd.
(No Starch Press,
paperback, list price $24.95)

Linear algebra is one of the reasons I fled engineering school and became a writer many years ago. Mathematical abstractions and my mind just do not seem to know how to mix.

I would like to say that reading The Manga Guide to Linear Algebra has caused a complete breakthrough in my stubborn resistance to any math beyond simple equations. But that would be a complete lie. Linear transformations, inverse matrices, and eigenvectors still do not compute well inside my head. Of course, the good news – for me – is that they really don’t have to. I’m an old guy now and not worried about becoming a scientist or mathematician. I’ll never have to know a diagonalizable matrix from a determinant to cash a Social Security check.

But many young people do need to know linear algebra. And The Manga Guide to Linear Algebra can be helpful for any serious student, from middle-school age through college, who is wrestling with linear algebra concepts. It’s a fun book that mixes karate and romance with real math in a now well-proven comic book style that facilitates learning.

You do have to get past the fact that even this book has trouble presenting an easily grasped definition of linear algebra. “That’s a tough question to answer properly,” young math whiz Reiji Yurino confesses to his new love interest, Misa Ichinose. But once you do slide past his mind-numbing response (“Broadly speaking, linear algebra is about translating something residing in an m-dimensional space into a corresponding shape in an n-dimensional space”), each key concept is presented and illustrated in clever and helpful ways amid an unfolding story of young love and having to learn self-defense.

Thanks to this book, I now know more about linear algebra than I learned in my doomed attempt to become an electrical engineer. And who knows? If I had had the book many decades ago, I might now be lecturing in a university classroom, stealing quotes from Reiji Yurino, and telling you with a chuckle: “You can generally never find more than n different eigenvalues and eigenvectors for any nxn matrix.”

Seriously, if you know someone who is facing linear algebra with dread (maybe it’s you) or struggling with it and now expressing frustration and resistance, this book likely can help.

Si Dunn

Illustrated Guide to Home Biology Experiments – Serious science for homeschoolers and biology hobbyists – #bookreview

Illustrated Guide to Home Biology Experiments: All Lab, No Lecture
Robert Bruce Thompson and Barbara Fritchman Thompson
(Make:Books/O’Reilly Media, paperback, list price $34.99; Kindle edition, list price $27.99)

This is serious science in the form of a 359-page workbook devoted to 30+ lab experiments that can be performed at home, with the right equipment and materials.

The book is intended for adults who want to “explore the science of nature as a life-long hobby,” and it’s intended for homeschoolers who need and want challenging biology labs.

The book’s experiments are not cheesy and simple. Some example titles include “Simulated DNA Separation by Gel Electrophoresis”, “Investigating Bacterial Antibiotic Sensitivity”, “Soil and Water Pollution Testing,” and “Observing Specialized Eukaryotic Cells.” The review questions at the end of each lab also are challenging and require thoughtful, written answers rather than simple fill-in-a-blank responses.

Background material is provided before each experiment. But the authors recommend that their book be used in conjunction with a standard biology textbook, such as “the freely downloadable CK-12 Biology.” Meanwhile, the authors’ company, The Home Scientist, LLC, offers “inexpensive custom kits that provide specialized equipment and supplies you’ll need to complete the experiments.” You will also need a microscope and some “common household items” to use this book.

Illustrated Guide to Home Biology Experiments is well-written and well-illustrated. Before it introduces its experiments, it describes how to maintain a properly formatted laboratory notebook, how to set up a good home biology laboratory, how to use a microscope, and how to be careful with the necessary tools and materials. The workbook is part of the “DIY Science” series published by Make:Books, an imprint of Maker Media, which is a division of O’Reilly Media, Inc.

— Si Dunn

#