Monday, August 24, 2009

Book Review: Introduction to Programming and Object Oriented Design Using Java

"Suppose that two functions foo and bar are required to view and update an integer variable, say x. The simple implementation is to define x as a global variable in the program body. However this method will also allow other functions in the scope to view and alter x which is not desired in many cases. Object orientation focuses on the data and their related operations. Encapsulation is the first feature of object oriented method that restricts altering and/or viewing x to some limited set of known functions ."

This is the summary of the material that I present in elementary programming courses to prepare the minds for new concepts in object oriented style. Today, computer science students begin their long way in software production by structured analysis, design, and programming. After the so-called spaghetti style, structured programing methodology was a great step forward in simplifying software design and maintenance. No CS instructor begins the introduction to programming with assembly language; Because there is no need to do so and structured thinking is more easily taught through function based concepts.

With the introduction of object oriented methodology, there is no students to learn structured methods and then smoothly migrate to object oriented methods. In fact the first step can be easily removed; as in the book I'm going to introduce and review in this post.
Object-Oriented Design Using Java, 3rd Edition

Introduction to Programming and Object-Oriented Design Using Java, 3rd Edition, says the elementary words of programming in object oriented language. Classes and objects are introduced in first chapter. The rest 21 chapters of the books cover various concepts and aspects of object oriented methodology using the inline examples and code snippets in Java, one of the finest programming languages.
Each chapter ends with self-study questions and plenty of exercises which make the book self contained and appropriate for self study purposes.

The book focuses on practical aspects of software design. Common data structures and algorithms, visual modeling and user interfaces are thoroughly discussed.

In short, I can mention the book as giving emphasis to three main features:
  • Object oriented methodology in software design and production
  • Easy to study and learn
  • Covering all aspects of practical software production from designing algorithms to designing user interfaces
The book ends with appendices containing tips and tricks of programming, listings of some classes used in the text, and a glossary.
As an instructor of basic courses in computer engineering and science, I will prefer to introduce my students to the word of computing with object oriented methodology and Java language. I think there is no more need to confuse the new comers with out of date concepts.




No comments: