Paperback: 110 pages
Publisher: Pragmatic Bookshelf; 1 edition (September 14, 2015)
Product Dimensions: 6 x 0.2 x 9 inches
Shipping Weight: 12.6 ounces (View shipping rates and policies)
Average Customer Review: 4.4 out of 5 stars See all reviews (14 customer reviews)
Best Sellers Rank: #46,156 in Books (See Top 100 in Books) #13 in Books > Textbooks > Computer Science > Algorithms #25 in Books > Computers & Technology > Programming > Algorithms #42 in Books > Textbooks > Computer Science > Software Design & Engineering
View larger Q&A with Brian Hogan, author of Exercises for Programmers Why did you decide to write this book? I learned to program when I was in fourth grade. I was struggling with some math problems at the time, and my dad showed me how to write a program to quiz me at math problems. My dad wasn't formally trained, he just knew enough to show me what to do. And so programming, to me, was about solving problems. But when I got to college, my professors were more interested in doing algorithms and puzzles. I was never great at mentally connecting the dots. But I had one teacher who was very focused on real-world programming; writing programs to solve business problems. And everything clicked. When I got into the field, I found myself in many situations where I was teaching people to code, and I needed exercises for them to do, so I started looking at the things I had to write at work and simplifying them down. I've written BMI calculators, widgets for web sites that pulled down the weather, URL shorteners, and many other things that can teach programming concepts in context. So when I became a teacher full-time a few years ago, I began introducing these exercises into my classes for additional practice in order to prepare students for assessments. I saw student performance improve significantly. And I figured that if it worked for me, it would work for everyone. So this book is for beginners? Over the years I've had to learn some new programming languages, and I've returned to these programs to get me through that. When I was learning Go a few years ago, I tried these programs. And I just did the same thing this last year with Elixir. I've seen how the "todo list" program has become the way for developers to get their minds around an MVC framework, so I think there's a ton of value in solving known problems with a new language. I also think it's easier to learn a language when you have some goals and direction. When you've never used Swift before, even something as simple as making a mad-lib program can be a great experience. What's your favorite exercise in this book? One of the exercises in the book uses an API to show you how many people are in space. The API shows you their names and which spacecraft they are on. First, I think it's awesome we live in a time where people are in space. But also, I think the exercise is interesting and engaging, while still having you work through the concepts of pulling down remote data and formatting it.
View larger What do you hope readers take away from the book? I think we get better with practice. If you are playing piano and you only go to your lessons, and you never practice in between, you won't be as good as you could be. And I think that is the same with writing code. I think if you go through a degree program and only do the work that's assigned, you won't get as much experience. And I believe that the more languages you explore, the better you'll get at solving problems. So I hope that by reading this book, people will be inspired to practice with the language they know, or even to try a new language.