Learn Computational and Algorithmic Thinking.
Algorithmic Thinking involves more than just learning code. It is a problem solving process that involves learning how to code! This book teaches computational and algorithmic thinking by taking very seriously one thing for granted—that the reader knows absolutely nothing about computer programming!
Python is unquestionably a very popular programming language and this book can help you enter the programming world with Python. With 350 pages (many of which are illustrated), and more than 100 solved and 200 unsolved exercises, over 250 true/false, 100 multiple choice, and 100 review questions (the solutions and the answers to which can be found on the Internet), this book is ideal for kids 10+ and their parents, students, teachers, or for anyone who wants to start learning or teaching computer programming using the proper conventions and techniques.
Material about this book:
- Book’s Table of Contents
- The answers to the review questions and the solutions to the review exercises (Updated on June 30, 2020).
- The solved exercises.
- Report Errata
The Title of the Book is Exactly What You Get
Everything promised by the title is delivered by the book. And more.
“Python”: Python 3.x is the basis for the lessons and exercises
“for Tweens and Teens”: This book fills a gap in the market for programming books by providing an appropriate level of complexity. Too many beginner programming books are geared towards a much younger audience who might need colorful pictures or simplistic games to capture their attention. Yet other books are geared towards adults looking to rigorously learn a specific programming language from the ground up. This book neither insults the intelligence of teenagers, nor overly taxes their ability to comprehend the abstract. The lessons and problems are an appropriate level of complexity that likely complements recently learned science or math lessons at school.
“Learn Computational and Algorithmic Thinking”: This is yet another place where this book fills a gap among programming books. Although this book is similar to others in assuming no previous experience, this book differs in valuing algorithmic thinking. Far too many books teach coding, which emphasizes generating a result, instead of computer science, which is the art of thinking logically through a problem and constructing an efficient solution.
This final point is not always obvious to non-programming parents looking to help their children get a head start on programming. Algorithmic thinking will endure changes in programming languages. (And make no mistake – programming languages come and go. Anyone still program in Pascal?) There are far too many books for beginners that emphasize coding in a way that focus on narrow problems and specific capabilities of a language, and thus are less likely to teach skills that extend to other programming languages. While total avoidance of “coding” in favor of “algorithmic thinking” is neither practical nor desirable, this book understands the difference between the two approaches and creates an excellent combination.
Another way that this book distinguishes itself is that every chapter includes several programming problems with varying levels of difficulty and no answer key. The absence of an answer key for the programming problems is not a bug, but a desirable feature. Too often, other books fail to provide any programming exercises or, alternatively, guide the student down a narrow corridor to one particular solution. This book starts the student with particular topics and examples, but the gem is the programming exercises which guide the student through increasingly difficult problems all without providing the crutch of specific answers. Like painting, this allows for the student to express his own unique style of programming. As a parent, I take great joy in seeing my teen not only learn programming, but generate solutions differently than how I imagined.
I discarded a dozen books before taking a chance on this book. I’m glad that I did.
Good Beginner’s Book
Not really just for teens, this is a good beginner’s book. Lots of exercises and solutions to work with to test your knowledge of Python.
Son loves it
Is all greek to me but my son makes perfect sense of it and loves it.
Clear and concise instruction
Easy to follow
Good for beginners and teachers who teaches the youngers
Easy to follow examples and easy to understand explanations. Good for a complete beginner.
Great for independent learning!
I am really enjoying this book. I teach a graphics class at an alternative high school, and I had one student who wanted to learn to code. My husband is a software engineer, and when I bought the book, he looked it over and felt it was a great starter book. It comes with great easy to read and follow chapters. Review Questions are provided at the end of each chapter, and there are several “repeat” questions that keep appearing after each chapter (as my student was so kind to point out). They are the “key” points that need to be learned and reviewed. So far…so good! My student did his first actual programming today, and I’m “pretty sure” he was proud of the program he wrote.
Ideal for little explorers of computing
– an excellent book for everyone who wants to learn python from scrtach, no matter of age
– robust algorithmic thinking approach (very important from my point of view)
– very well written with plenty of examples of scaled difficulty
– the coloured version that i bought really upgrades the readability of the manuscript