Published: December 18, 2021
Published by: Addison-Wesley
Co-author: Shmuel Forta
Legend tells of individuals with astounding powers. Scattered around the globe they have been endowed with the ability to bring the inanimate to life. Issuing instructions in varied languages, they can bend machines near and far to their will, making them do their bidding. These individuals are awesome and powerful, for they are … coders!
Ok, so we may have gotten a bit carried away there. But coders are indeed awesome and powerful. We should know; we’re coders, and we think that we’re pretty awesome and powerful (if we do say so ourselves). The truth is that, for most of us, the closest we’ll ever to get to being Gandalf, Wonder Woman, Bruce Wayne, Luke Skywalker, Queen Elsa, Tony Stark, or Deadpool is mastering coding and developing the ability to command machines to do our bidding.
Yep, it’s pretty heady stuff, we know. But truthfully, that’s what coding is. Which means superpowers are quite attainable.
We believe everyone should learn to code, whether they intend to pursue careers in coding or not. We believe this just like we believe that everyone should draw and sketch, and everyone should play an instrument, and everyone should cook, and everyone should take pictures and shoot videos, and more. All of these are creative endeavors, which means that they are ways to actually create stuff, and creating stuff is incredibly rewarding and satisfying. Sure, it’s fun to spend hours on your phone looking at what other people have created; but that’s nothing compared to the joy and satisfaction of creating stuff that other people consume and use.
Great, so you should learn coding. But where to start? In our experience, too many books, videos, and lessons overly focus on the mechanics of coding – things like syntax and exact details of how to use specific language elements. They get caught up in the minute details of specific projects. It all feels a whole lot like being talked to, as opposed to being encouraged to tinker and play. And that’s boring. As in really enthusiasm-draining, soul-crushingly, yawn-inducingly boring. It’s kinda like spending hours and hours learning dictionary words and grammar and then getting to use those by copying someone else’s writing, and not being given the chance to find your own words and voice. That’s crazy, right? And yet that’s how most people are first introduced to coding.
We’ve been teaching coding for many years. In fact, we’ve helped over a million people become coders, including lots of young people your age. And we know how to help you develop these skills – we do it the same way we taught ourselves to code. It’s fast, fun, results oriented, and it works.
And that’s why we wrote this book for young people like you (aged 10-18 or so) and for anyone young-at-heart. You’ll learn by creating and playing games, starting small, and rapidly becoming quite sophisticated.
Using these games, we’ll help you learn how to code, but that’s not enough. We’re also going to help you learn how to think like a coder, analyze problems like a coder, plan like a coder, progressively iterate like a coder, craft elegant solutions like a coder, even talk like a coder … In fact, when we’re done, you’ll have discovered your coding superpower and will have morphed you into <drumroll> a coder!
Yep, becoming a coder is all fun and games!
- Part 1: It’s All Fun & Games
- Getting Started
- Mad Libs
- Roll the Dice
- Calculate the Day
- Rock Paper Scissors
- Secret Codes
- Guess the Number
- Becoming a Coder
- Keep Going
- Part 2: On an Adventure
- Getting Func-ky
- Cleanup Time
- Reduce, Reuse, Recycle, Refactor
- Carrying (and Using) Stuff
- Staying Classy
- Color Your World
- Keep Going
- Part 3: Hit the Road
- Crazy Driver
- Image-ine the Possibilities
- We Like to Move It
- Crash Bang
- Finishing Touches
- Keep Going
- What Next?
Had enough of typing the code examples? Yeah, we understand. You can find all the code here ready for you to copy and paste.
Looking for solutions to the challenges? You’ll find them right here.
Resources (by chapter in which they are mentioned)
As we explain in Chapter 1, you really just need two things to get started on your journey to become Captain Code:
- Python (just download the latest version for your Windows or Mac computer)
- Visual Studio Code (again, select Windows or Mac as appropriate)
Chapter 1 walks you through what to do with these, so just follow the instructions and you’ll be good to go.
Are you a Chromebook user? We love our Chromebooks, and some (but not all) can indeed be used to learn and code Python. If you are using a Chromebook, this page has everything you need to know.
Ready to create the Crazy Driver game? Click here to download the game images, and then follow the instructions in Chapter 19.
Looking for bonus Chapter 25? Here it is!
If you are an educator using Captain Code in the classroom, thank you. We created this book as educators ourselves based on our own experiences inspiring young people by introducing them to coding. We are humbled and honored at the prospect of helping you do the same for your own students. To assist you we have created extra resources for you to use in the classroom. These include additional assignments and challenges, as well as educator notes and talking points. To access the Captain Code: Educators page, please contact us (or email firstname.lastname@example.org).