Learn Computational and Algorithmic Thinking.

If you are wondering whether this book is going to teach you how to create amazing desktop or mobile applications, the answer is “no”—that is a job for other books. So many books out there can teach you those skills in Python, C#, or Java, but all of them take one thing for granted—that the reader knows some basics about computer programming. None of those books, unfortunately, bothers to teach you the first thing that a novice programmer needs to learn, which is “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!

This edition contains all the popular features of the previous edition, while two brand new chapters provide an effective introduction to files.

This book has been written as a textbook, using a class course structure with questions and exercises at the end of each chapter so you can test what you have learned right away and improve your comprehension. With 360 illustrated pages, and more than 300 solved and unsolved exercises, around 300 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 aged 12+ and their parents
  • students
  • teachers
  • anyone who wants to start learning or teaching computer programming using the proper conventions and techniques.

amazon_avail

Material about this book:

Customer Reviews (for 2nd edition)

G.D.
Great book

I bought this to work with an 11-year-old autistic child. Both he and I found it easy to use with clear, uncluttered instructions. Neither of us had any experience of Python but were able to produce programs with satisfying results very quickly.

Source: amazon.co.uk

Customer Reviews (for 1st edition)

A.
Smarter than a Tween?

I bought this book to teach my 7th and 8th graders. I am learning along with them. The lessons provide exercises that are crucial to learning. In this diverse class of learners, I can differentiate between those quick learners and those that need more time. Students ask the funniest questions, “What’s a Tween?” They are unaware when I ask a question because I’m learning with them or checking for understanding. Thank you for this great resource!!!! I just wish I was able to copy paste the questions to avoid typos!!

Source: amazon.com

r.
Well geared to the teen audience

At the time that I ordered this, I was looking for a book targeted to exactly what the title says “tweens and teens” for my kids. I didn’t know if there was such a book out there – more mature/advanced than CodeMonkey, but not too heavy for them to lose interest. Well, this book was the perfect fit. It teaches solid principles clearly with minimal graphics, and reinforces them with age-appropriate problems to solve. My son has now moved on to the Java book by the same author. He says that if he had started with the Java book instead of the “tweens and teens” one, it probably would have turned him off from programming.

Source: amazon.com

A.
Good learning support

Used this as a reference and self help guide for a teen self taught programmer .
Lives up to the expectations and delivers on content

Source: amazon.com

O.W.
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.

Source: amazon.com

M.B.
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.

Source: amazon.com

T.J.J.
Son loves it

Is all greek to me but my son makes perfect sense of it and loves it.

Source: amazon.com

E.
Easy Read

Clear and concise instruction

Source: amazon.com

Amazon Customer
Easy to follow

Good for beginners and teachers who teaches the youngers

Source: amazon.com

C.C.
Four Stars

Easy to follow examples and easy to understand explanations. Good for a complete beginner.

Source: amazon.com

L.C.
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.

Source: amazon.com

I.G.
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

Source: amazon.com