Learning to program isn't just learning the details of a programming language: to become a good programmer you have to become expert at debugging, testing, writing clear code and generally unsticking yourself when you get stuck, while to do well in a programming course you have to learn to score highly in coursework and exams. Featuring tips, stories and explanations of key terms, this book teaches these skills explicitly. Examples in Python, Java and Haskell are included, helping you to gain transferable programming skills whichever language you are learning. Intended for students in Higher or Further Education studying early programming courses, it will help you succeed in, and get the most out of, your course, and support you in developing the software engineering habits that lead to good programs.
Very useful book for a, especially, a student who would like to learn writing computer programs. Actually, I wish I had such a textbook to accompany me after my first failures at learning programming languages and programming back in the university.
The book is well-written, with great and digestive tips, that anyone can pick up and enjoy reading.
Anyone who is starting on their programming journey should read this book. It introduces some key concepts and good programming practices in a very approachable way. Examples in Java, Python, Haskell and Perl as well as short stories along the way make this book very engaging.
Certainly took my time reading it, but that has nothing to do with the quality of the writing. In fact, one of the best things in this book is the language the author uses to bring complex subjects to a comprehensive level. It's all in how one approaches subjecst such as testing, compiling and problem solving. This books isn't supposed to bring you all the answers, but rather make some suggestions explicit enough for a beginner to understand. And the book accomplishes that goal.