One subject that can pass homeschoolers by if they are not careful is programming. From what I see from the public schoolers I know, programming is just a core part of the curriculum in multiple classes. For homeschoolers, especially those embracing classical or Charlotte Mason education, programming can easily fall by the wayside. Fortunately, Code for Teens' awesome book Code For Teens: The Awesome Beginner's Guide to Programming (Volume 1) is available to remedy that problem (see, I told you it was awesome - it even says so in the title!).
Code for Teens is a 219 page paperback book. It's the kind that you can open without breaking the spine, if that makes sense, which makes it ideal for reading and working simultaneously. The goal of the book's author was to create a programming instruction book that students could do by themselves with no teacher or parent involvement. Yes! Sign me up! There are ten chapters in the book, beginning with writing your first line of code and ending with making a hangman game. The book is written in a very informal style, just as if the author were sitting next to your child and guiding all of his coding efforts. When he introduces a new term, he defines it. His tone is encouraging and helpful without being at all condescending. All code is set apart in gray highlighting so it is obvious. Wonderful illustrations are contributed by the author's, Jeremy Moritz, wife Christine. The illustrations always add something to the page and don't come off as distracting or extraneous. In short, I love the style of this book. If you would like to see for yourself what I mean, check out the sample available from the author.
Further, as stated by the author, he wanted to create a programming course that followed the pace of a core school course, like math. All the programs for kids/teens he had seen went way too fast and expected too much knowledge in too short a period of time. Hence, this course moves much more slowly and gives students plenty of time to absorb all that they are learning. I love that. In order to learn and retain, some subjects must be marinated in. I definitely think programming falls under that category. Learning what to do is of no use if you have not practiced enough to retain the knowledge. In accordance with valuing actual learning and retention, the author includes a review drill at the end of each chapter. Also, in accordance with the stated purpose of creating a course that is entirely self-taught, he tells the students that they can find all the answers right at the end of the book! Again, I love that. My 13 year-old son is perfectly capable of self-checking, but that often isn't an option in homeschool-friendly programs.
Michael (13) and Code for Teens
I initially thought of Nicholas (15) for this review, but he is not really a beginning programmer. He has actually done quite a lot with Java before, so even though Michael has not expressed interest in learning programming, I handed him this book and told him to go nuts. Here are some of his first efforts:
He has really been enjoying working through this book! I haven't had to browbeat him into doing it (although it is summer, so I have had to remind him) at all. I am sure that the author's casual no-pressure approach (all while teaching so much!) has a lot to do with that. I am excited that Michael is learning to program in Java, and I am very excited that this book is labeled Volume 1 - I will definitely be looking into Volume 2 (forthcoming, I assume).
Michael will continue to work through this book at his own pace (another suggestion of the author's). I have no doubt that he will complete it and be looking to extend his knowledge. It's obvious that I really like this program, but if you want to check out other opinions, be sure to click the awesome graphic below!