Disclosure: Pearson Education is a sponsor of the Chicago Sencha User Group, and they provide discount copies of of their books to our members. I have not been paid for this review, although I did receive this book for free.
Problem Solving and Programming Concepts caught my attention because I minored in Computer Science when in college. The book is part of Pearson Education’s higher education publishing line, so I was excited to have an opportunity to relive my college days (minus a whole lot of partying).
It should be obvious, but the intended audience for this book is undergraduate Computer Science students taking a semester-long course.
It’s a full textbook, complete with homework exercises and a college bookstore price tag.
What I Liked
I liked how many “homework” type exercises are in the book. I’m obviously a nerd, but I feel that this sort of content (where the answer isn’t given to you) really helps to reinforce what you just read. You can’t skim the chapters and expect to answer the questions at the end.
I also liked that the authors were able to describe fairly complicated concepts in easy-to-understand terms. That probably helps the students reading this book, as they likely haven’t been exposed to some of these concepts before.
What I Didn’t Like
One of the concepts that the authors attempt to drill into our heads is the idea of Unified Modeling Language (UML). UML consists of a variety of common diagrams that help to describe a software system – and I feel the authors went a bit overboard using them on EVERY SINGLE EXAMPLE. I would guess there are more than eighty of these diagrams in the book – and while I can agree that students need to understand why UML is important, the simple fact is that the “real world” (the business world where we all end up working) UML isn’t used nearly as much as the authors would have you believe.
Bottom line: I would have preferred more substance, fewer diagrams. As a Computer Science minor in college, I can assure I would have preferred to discuss problem solving via algorithms.
Additionally, Chapters 17 (Introduction to Concepts of Game Development Using OOP) and 18 (Introduction to Assembly Language) need to be completely removed. Those two chapters consist of exactly 10 pages, most of which is useless. 385 pages into a book of mainly diagrams, I finally think “Hey, there are cool chapters coming on Game Development and Assembly Language!”… and all I get is 10 crappy pages in a book that totals more than 500. Simply disappointing.
Last but not least, the “Supplementary Exercises” in Unit Seven are a 1/2 page – it’s one exercise. Singular. Again, this is just a waste… we’re toward the end of the book, and should be able to apply 450+ pages of content to new examples (plural). It’s like the authors forgot to write this section.
After Seeing the price tag and reading the book, I am reminded why I hated our college bookstore. It’s too expensive to justify buying new and you’ll never be able to sell your used book for more than a few bucks. Considering that the book’s content isn’t all that exciting, I wouldn’t want to hold onto it to re-read later in my career.
Overall I thought the book was dry and disappointing. College textbooks are rarely exciting, but I have a book case full of my old texts because their content was valuable. Problem Solving and Programming Concepts is not one that I will be keeping on that shelf.