Building Java Programs: A Back to Basics Approach

Find More Building Program Products

3 Responses to Building Java Programs: A Back to Basics Approach

  • John M. Hunt says:
    34 of 35 people found the following review helpful
    5.0 out of 5 stars
    Finally, a good proceedure first intro text book for Java, October 13, 2007
    By 
    John M. Hunt (Lookout Mountain, GA USA) –
    (REAL NAME)
      

    This review is from: Building Java Programs: A Back to Basics Approach (Paperback)

    The dominant approach to teaching Java is to start with objects as early as possible – the object first approach. If this is what you want, then this is not the right book. However, I believe that a growing number of people, myself included, have come to believe that object first doesn’t work. Since OO is primarily a design and organization approach for building large systems it typically does not make sense to students trying to do one or two page introductory projects. In addition, the time taken in trying to explain objects comes out of time that would have been spent in learning programming basics such as loops, arrays, etc. The result is too many students that can’t write good procedural code, as well as never grasping object.

    Due to this problem, I have chosen to organize my classes to begin with a procedural style of programming (focused on loops and arrays) and introduce OO at the beginning of the second semester. One of my frustrations has been a lack of supporting material for this approach, particularly among introductory Java textbooks.

    This book solves this problem for me. It introduces concepts in almost exactly the order I have decided to use in my courses. The book is well written. It has a modern organization in terms of things like sidebars and its graphic design without going overboard and trying to compete with MTV the way the Head First series does, or by putting in a bunch of expensive color pictures that have nothing to do with the subject as many current textbooks do. In short, the book design matches its subtitle of being “a back to basics approach”.

    The authors have chosen to avoid showing a specific IDE and limit graphics to an optional chapter. I approve of both of these choices. I find that teaching IDE’s, such as BlueJ, leave students confused about what the tool does and what the programming language does. While full IDE’s, such as Eclipse, overwhelm first semester students. Graphics are “sexy” but every library is different. Real world libraries, like Swing, are too complicated for first semester students. Teaching libraries make the students learn something that is promptly thrown away. I, like the authors, would rather put the effort into the basics of programming.

    This brings us to the book’s other strengths – well thought out examples and assignments that use the basic portion of the language (and could be used with practically any language). A series of character graphic examples are presented that do a good job of showing ideas such as repetition, and functional decomposition. They also include many good “case studies” that show how to apply the techniques introduced in the chapter to a “large” (for first semester) programming problem that is related to real world concepts. For example, one early case study calculates body mass index (fat to weight ratio) of a person. Their case study examples are definitely better then what I am usually able to come up with on the fly, which I think is a key reason to even bother with a text book.

    Summary: I believe this book delivers on its title. It is a well written book that focuses on the basics of learning a programming language without getting lost among “hot” topics like OO, IDE’s, or GUI’s. I will be switching my classes to this book.

    Help other customers find the most helpful reviews 

    Was this review helpful to you? Yes
    No

  • Ed Knorr says:
    6 of 6 people found the following review helpful
    5.0 out of 5 stars
    Painless Java, May 29, 2009
    By 
    Ed Knorr (Canada) –
    (REAL NAME)
      

    This review is from: Building Java Programs: A Back to Basics Approach (Paperback)

    I have been meaning to learn Java for a long time, kept putting it off, and finally got around to it this summer. Having skimmed through a bunch of Java textbooks, I narrowed it down to this one. I heard the authors speak before (e.g., at CS education conferences), and because their presentations were clear and interesting, I figured that they probably write as well as they speak. I wasn’t disappointed. This is a VERY nice book. Although I know other programming languages, I knew nothing about Java, and since I might be teaching this course in the future, I decided to read the whole book and do the programming examples as I went along.

    The highlights of this book are: starts with a procedural approach (objects come later, but they use objects like Strings early on); very readable; LOTS of clear and relevant examples; non-trivial examples (like reading a large text file to compute and sort a list of unique words); and very good attention to loops, functions, ArrayLists, LinkedLists, iterators, the Java Collections Framework (introductory data structures like HashMap, TreeMap, HashSet, TreeSet, but doing so in a nice way that doesn’t overburden the student) … and the authors also give programming tips, short-cuts, and good attention to off-by-one errors (e.g., fencepost cases).

    Furthermore, they provide fragments of code that have a “thumbs down” icon in the left-hand margin. After having taught many programming courses, the authors are well-aware of common mistakes that students make, and they share these experiences at just the right points.

    I like their stock market example. They spent a whole bunch of pages on some basic stock market material (it’s easy to understand), and they used it to explain inheritance, classes, methods, abstraction, etc. This example can easily be expanded in many ways, if need be, say for a programming project for the class). For example, a project could build on the examples in the text, whereby students also compute the portfolio value, add interest, add commissions, add foreign exchange fees, add dates, compute percentage profits on an annualized basis, etc. Such an approach would be great to get students to modify the textbook’s existing code, thereby giving students “real world” programming experience (i.e., modifying existing code). A CD comes with the book and has the source code for the examples in the textbook, if you want to reduce typing.

    They also provide some neat graphics applications that allow the reader to create his/her own applications using Points, shapes, colours, etc. At the end of the book, you’ll find an introduction to basic windowing applications, including event handling.

    Help other customers find the most helpful reviews 

    Was this review helpful to you? Yes
    No

  • N. Sterr says:
    4 of 4 people found the following review helpful
    5.0 out of 5 stars
    Great Java Book, March 20, 2010
    By 
    N. Sterr
    (REAL NAME)
      

    Amazon Verified Purchase(What’s this?)
    This review is from: Building Java Programs: A Back to Basics Approach (Paperback)

    Building Java Programs was a great book to use while learning Java programming. The book is written very well and is easy to understand, even for people who have never attempted programming before. For those of us who have programming experience, the book was still informative and provided lots of good examples and practice problems. The supplemental materials (slides, assignments, etc) were very helpful. They provided some extra information and practice that corresponds to the chapters in the book. The online Practice-It! program was great as well, letting you write and test Java code for all kinds of sample problems online with instant results. I would recommend this book for anyone interested in learning Java programming, or anyone who wants to brush up on their skills.

    Help other customers find the most helpful reviews 

    Was this review helpful to you? Yes
    No

Leave a Reply

Your email address will not be published. Required fields are marked *