Why reading this book?In a recent job interview, I was asked about a simple thing on algorithms. This is such a basic subject which I dont remember about it anymore. I know that it is important for an IT practitioners to know those things. However, when I learned it at campus, it was just not stimulating enough for me to enjoy it. There is a gap between this pure academic stuff with the on going technological development.
This book, however, promises that it will fill the gap. I am counting on it, and in my next job interview I will not repeat that stupid mistake again.
What is in the book?
It seems like it covers a range of topics, i.e. the basic concepts needed to understand this subject (complexity, Big O notation), basic data types, more advanced ones, sorting algorithms, etc.
Another things which they mentioned very early is the use of unit testing (JUnit). I am really curious about it.
Good Points and Quotes:
- "test-driven development (TDD), forces us to concentrate on the contract, the published behavior, of our classes, rather than the implementation" (p. xxiii)
- "Another benefit of unit tests is that they provide reliable documentation about the behavior of the class under test."(p.11)
“To understand recursion, we first need to understand recursion.”
Cross References:
- About JUnit in Eclipse: See Daum's Book, Ch. 6, p.120
- Should I use the JUnit test that comes along with Eclipse? Or install by myself in for my own project? Or can I use both?
- Consider the way the testing package is organized in this book!