The emphasis is not on teaching advanced concepts of the Java language, per se, but rather on using Java to teach advanced programming concepts that any aspiring programmer should know. The major topics covered include elementary sorting methods (selection, insertion), searching (sequential, binar