Exercises for Programmers. 57 Challenges to Develop Your Coding Skills
Brian P. Hogan
For some time I’m collecting links & articles where I can find tasks useful for learning new programming language. It’s because sometimes I want to try learn a language without reading a book, sometimes examples in books are boring. So I bought “Exercises for Programmers” knowing that it’s main audience are beginner programmers. The book is rather too short for me, but it’s still a useful collection of tasks.
Exercises included in the book are engaging and useful so there is a low chance you will get bored by them. For example I found it useful to create a “Password Generator” program (exercise 37) – see my gist for it (Java, feel free to improve).
What is a nice plus is that you can control complexity of the task by implementing additional “Challenges” attached to the task. It’s up to the reader if s/he wants to implement them or not. Unfortunately, some challenges will be difficult or impossible to implement, if you are working with language which is console-only because part of them is related to GUI or system integration (like clipboard) or involve installing and using additional software (like MySQL, OSX, web server). I would like to see more challenges based on increased code complexity.
The books begins with short introduction how to solve exercises in general, then various small and bigger tasks are described. At the end you can find five tasks describing whole applications which can be useful if you want to write some large applications to share with your colleagues.
Table of contents
List of chapters:
- Turning Problems into Code
- Input, Processing, and Output
- Making Decisions
- Data Structures
- Working with Files
- Working with External Services
- Full Programs
What You Will Learn
- how to prepare pseudo-code for your programming tasks
Buy it if you need a handy collection of programming excercises, but be aware that most of them will be easy to implement under 30 minutes.
Book home page: Exercises for Programmers
* basic introduction to solving programming excercises
* can be applied to various programming languages
* rather for beginners, but can be also used for language learners
* too short
* most of tasks too easy for experienced developers