Posted: Thu, 05/16/2019 - 14:12
We’re several months into 2019, and this year I set a goal to read more computer science books and learn a new programming language. Did you make any resolutions for the new year?
When I first decided I wanted to advance my computer science skills and shift from block-based coding to a language, I was overwhelmed. It seemed that Python would be a good choice to learn, and there were many free online courses to choose from. Javin Paul crafted a great resource outlining the best online options for learning Python in 2019:
As a child of the 1980s and a true Generation Xer, I like to learn from a combination of online courses, podcasts, and books, so I headed to my local bookstore to see if I could find some books on programming. Here are my top picks of books that have helped me learn to program in the past five years, and the books that helped me build and organize my curriculum in a way that would be interesting and accessible for a diverse group of learners:
- HelloWorld! Computer Programming for Kids and Other Beginners, by Warren Sande and Carter Sande (Python)
While this wasn’t the first book on Python that I read, this was the book that helped me build a solid foundation with my first real programming language. There are 449 pages of content, and many pages are filled with visuals and interactive exercises. I was able to work through each chapter quickly and gained a solid understanding of core concepts in Python. I think this book would be a great resource if you work with students in middle or high school.
- Computer Coding for Kids, by Carol Vorderman (Scratch, Python)
This book offers fun ideas for projects and games that students can build, including a bubble blaster and drawing machine. There are colorful, kid-friendly visual resources on ASCII, computer parts, debugging, and the Internet, just to name a few. This book could be used with students of all ages, but will work especially well with elementary and middle school students.
- Python Programming: An Introduction to Computer Science, by John Zelle (Python)
This was the book that helped me move from a beginner to a more intermediate programmer several years ago. Zelle’s book was recommended to me by an incredible veteran computer science teacher at an AP workshop, and would make for a great high school course textbook or resource.
- Invent Your Own Computer Games with Python, by Al Sweigart (Python)
One of my students found this book online, and after some digging we found that six of Al Sweigart’s books are available online for free at this site:
https://inventwithpython.com/. This resource was a game-changer for my students. The books provide a plethora of examples and provide reinforcement for those students who could use a supplementary resource, as well as for those who wish to work on a more personalized path independently. In addition, there are many creative ideas for programming projects.
- Coding iPhone Apps for Kids: A Playful Introduction to Swift, by Gloria Winquist and Matt McCarthy (Swift)
App development is all the rage, and this book helped me gain a foundational understanding of Swift for programming iOS apps so I could better support students interested in the topic.
Here are two more books I’ve read recently that are worth considering if you teach computer science:
- Girl Code: Gaming, Going Viral, and Getting It Done, by Andrea Gonzales and Sophie Houser
The inspiring journey of two teenager coders who built a viral game. Andy and Sophie share their story and valuable advice from female leaders in the tech industry.
- Lauren Ipsum: A Story About Computer Science and Other Improbable Things, by Carlos Bueno
A story reminiscent of Alice in Wonderland or the Phantom Tollbooth, this is a surprisingly informative book with a female protagonist about computer science concepts with loads of logic puzzles along the way. This book seems most appropriate for students in grade 5 or older.
What books have been valuable for you? What books would you recommend for other computer science educators or students?