The Old Schoolhouse® Product & Curriculum Reviews

With so many products available we often need a little help in making our curriculum choices. The Old Schoolhouse® Magazine family understands because we are in the same boat! Do you need more information on a product before you buy? With over 5,500 products listed in 52 easy-to-use categories, much of the information you need to know is only a click away! Let our reviewer-families help yours.
Do you want to get the word out about your product or service to the homeschool community? Email Jenny Higgins and share a little about what you´d like showcased, and we can help with that!

Cracking Code with Python Review by Kirsten West

An Introduction to Building and Breaking Ciphers
Al Sweigart
No Starch Press

Cracking Codes with Python is a complete curriculum from no starch press that teaches two diverse subjects in one: cryptography, and the Python programming language.

The design of the book is wonderful for homeschooled children. All the components and explanations are laid out thoroughly and clearly. Also, this book does not teach your child programming concepts and then expect them to struggle through the process of completing a full program without help. Instead, the programs are supplied by the author and then the details of how each one works is explained so that your child can branch out on his own with assistance and examples.

I found the course perfect for my teenage son. I simply handed the book to him when it arrived. He did all the preliminary setup and installation on his computer. Then he devoted himself to the course and was halfway through the entire book by the end of the week.

The curriculum is designed in a way that leads with ciphers and codes to interest students. In fact, if you look through the table of contents you see the activities more than the programming skills your child will learn. But do not be deceived by the table of contents. This is a good solid introduction to programming in Python. The depth of the material in the book is consistent with an upper division high school or college level.

Your child will get hands-on experience creating a range of ciphers, learning about frequency analysis, generating prime numbers, and even creating the public keys used across the Internet to protect private financial transactions. If your high school-aged child works through the entire course, completing all the exercises and practice questions, it is absolutely worth one full credit. There are 24 chapters in the book. You can pace the course at one chapter per week and easily complete the book in one school year. Grading is easy if you use the practice questions as quizzes.

The course begins by walking your child through the process of downloading and installing the freely available Python programming environment, or Python Interpreter. This tool is available for Windows, macOS, and Linux.

Next your child needs to download the resources and programs for the course, available online from No Starch Press. The instructions for all of these are clearly laid out in the book and my teenage son breezed right through the process completely on his own.

The book is written in a conversational tone that invites your child to explore each new topic. Each chapter begins with a short introduction followed by a summary of the topics covered in the chapter. As your child reads through each chapter, there are notes directing your child to the book’s web page for supplemental instruction. At the end of each chapter is a summary followed by practice questions with answers on the book’s web site. And at the end of the book, the author includes a note to students encouraging them to email him if they have further questions (email address provided) and directing your student to the book’s web page for a resource list to learn more about cryptography.

The first ciphers your child will learn does not depend on a computer or the Python programming language. Morse code is a system of dots and dashes that are often associated with radio codes and the Caesar cipher is a simple but stunningly-effective and very old paper-based encryption method.

This book is perfect for high school-aged children who have an interest in programming. Even if your child already knows a programming language, the book provides plenty of educational value. My son already knows how to program in a different language, Java. The challenges in the book were so compelling to him that he challenged himself to translate each of the Python programs in the course into Java as he went along. This helped him to learn Python and the ciphers, while reinforcing his understanding of Java.

My husband is an engineer, and so we thought he could easily help my son when he ran into questions. But the book is so well written that my son breezed through completely on his own. Even if you do not have the skills to help your child, the author is reachable and willing to help. Given the quality of the instruction in the book, however, I don’t think your child will have questions.

Overall this is a fantastic programming and cryptography course for any high school-aged child.

-Product review by Kirsten West, The Old Schoolhouse® Magazine, LLC, May, 2018