This is the most unique Java text I have come across. On first glance, it looks like Java for middle-schoolers. It is chock full of diagrams, cartoons, fill-in-the-blanks and... well, you get the picture. But on closer examination it is a marvelous introduction to the language that includes all the basic points that other books cover but is designed with the student's learning styles in mind.
Before I go too far into my review, you can get a taste for the approach by looking inside the book via Amazon. Go to amazon.com and search for "Head First Java." You will be given the opportunity to view some pages and you'll see what I mean. Don't be fooled, though. This is an in-depth review of Java!
Table of Contents by Chapter:
1. Breaking the Surface: a quick dip
2. A Trip to Objectiville: yes, there will be objects
3. Know Your Variables: primitives and references
4. How Objects Behave: object state affects method behavior
5. Extra-Strength Methods: flow control, operations, and more
6. Using the Java Library: so you don't have to write it all yourself
7. Better Living in Objectville: planning for the future
8. Serious Polymorphism: exploiting abstract classes and interfaces
9. Life and Death of an Object: constructors and memory management
10. Numbers Matter: math, formatting, wrappers, and statics
11. Risky Behavior: exception handling
12. A Very Graphic Story: intro to GUI, event handling, and inner classes
13. Work on Your Swing: layout managers and components
14. Saving Objects: serialization and I/O
15. Make a Connection: networking sockets and multithreading
16. Data Structures: collections and generics
17. Release Your Code: packaging and deployment
18. Distributed Computing: RMI with a dash of servlets, EJB and Jini
App A: Final code Kitchen
App B: Top Ten Things that didn't make it into the rest of the book
Being a book nut, I bought about 10 different Java books while taking my courses. This is my go-to book for understanding concepts and methods that I feel a little shaky about. But be forewarned; this is a teaching text, not a reference text. But isn't there enough reference material on the net for you already?
This is a great text.
Friday, December 11, 2009
Thursday, December 10, 2009
Review: Simply Java Programming Deitel and Deitel
The first Java course I took, we used a book named Simply Java Programming by the prolific Deitel brothers, published by Pearson (Prentice-Hall). The table of contents shows the following coverage:
Chapter 1 Computers, the Internet and Java Programming.
Chapter 2 Graphical User Interface Programming
Chapter 3 JTextFields and JButton
Chapter 4 Introducing Programming
Chapter 5 Variables, Memory Concepts, Arithmetic and Keyboard Events
Chapter 6 Algorithms, Pseudocode and Program Control
Chapter 7 JCheckBoxes, Message Dialogs and Logical Operators
Chapter 8 while Repetition Statement and JTextAreas
Chapter 9 do...while Repetition Statement
Chapter 10 for Repetition Statement
Chapter 11 switch Multiple-Selection Statements, Date and Date Format
Chapter 12 Methods
Chapter 13 Event Handling
Chapter 14 Scope and Conversion of Primitive Types
Chapter 15 Random Number Generation and the JPanel
Chapter 16 One-Dimensional Arrays and JComboBoxes
Chapter 17 Two-Dimensional Arrays and JRadioButton
Chapter 18 Classes and Objects
Chapter 19 Collections, ArrayList and Iterators
Chapter 20 Inheritance and Graphics
Chapter 21 Interfaces, Mouse Input; the Event-Handling Mechanism
Chapter 22 Keyboard Events and JMenu
Chapter 23 String Processing
Chapter 24 Exception Handling
Chapter 25 Sequential Access Files
Chapter 26 Database Programming; Command-Line Arguments
Chapter 27 Polymorphism, Advanced Graphics
Chapter 28 Java Speech API
Chapter 29 Web Applications; Apache Tomcat Web Server
Chapter 20 HTML
Chapter 21 Database and Creating Database Components
Chapter 22 form Attributes, method/action and Inserting Query Results
As you can see, the authors have chosen to introduce GUI concepts from the get-go, but have delayed explaining classes and objects to much later (he uses classes earlier, but shows how to build your own in Chapter 18).
Although we used this book in the Fall of 2009, the book is copyrighted 2004. According to the instructor, the authors do not plan on updating this text. Why then did the instructor choose this text? Well, he is a great believer in the learn-by-doing school of programming (I agree, BTW), and this text does a good job in this regard.
Each chapter illustrates an application and the student downloads a copy of the application with certain code omitted. It is the student's job to type in the code that is needed from the examples in the chapter. The authors extensively discuss each line of code the student types in. Quite interesting, actually. The drawback to this approach is that (at least in the earlier chapters), the program uses code that has not yet been introduced or discussed. Personally, I found this to somewhat upsetting.
On the whole, however, it did keep me focused on the concepts introduced in the chapter.
Another reservation about the book is the introduction of GUI so early. Each chapter introduced the technical details of some GUI Component, as well as one or more programming concepts. I would have preferred a thorough coverage of loops, methods, etc., and then a coverage of GUI.
Chapter 1 Computers, the Internet and Java Programming.
Chapter 2 Graphical User Interface Programming
Chapter 3 JTextFields and JButton
Chapter 4 Introducing Programming
Chapter 5 Variables, Memory Concepts, Arithmetic and Keyboard Events
Chapter 6 Algorithms, Pseudocode and Program Control
Chapter 7 JCheckBoxes, Message Dialogs and Logical Operators
Chapter 8 while Repetition Statement and JTextAreas
Chapter 9 do...while Repetition Statement
Chapter 10 for Repetition Statement
Chapter 11 switch Multiple-Selection Statements, Date and Date Format
Chapter 12 Methods
Chapter 13 Event Handling
Chapter 14 Scope and Conversion of Primitive Types
Chapter 15 Random Number Generation and the JPanel
Chapter 16 One-Dimensional Arrays and JComboBoxes
Chapter 17 Two-Dimensional Arrays and JRadioButton
Chapter 18 Classes and Objects
Chapter 19 Collections, ArrayList and Iterators
Chapter 20 Inheritance and Graphics
Chapter 21 Interfaces, Mouse Input; the Event-Handling Mechanism
Chapter 22 Keyboard Events and JMenu
Chapter 23 String Processing
Chapter 24 Exception Handling
Chapter 25 Sequential Access Files
Chapter 26 Database Programming; Command-Line Arguments
Chapter 27 Polymorphism, Advanced Graphics
Chapter 28 Java Speech API
Chapter 29 Web Applications; Apache Tomcat Web Server
Chapter 20 HTML
Chapter 21 Database and Creating Database Components
Chapter 22 form Attributes, method/action and Inserting Query Results
As you can see, the authors have chosen to introduce GUI concepts from the get-go, but have delayed explaining classes and objects to much later (he uses classes earlier, but shows how to build your own in Chapter 18).
Although we used this book in the Fall of 2009, the book is copyrighted 2004. According to the instructor, the authors do not plan on updating this text. Why then did the instructor choose this text? Well, he is a great believer in the learn-by-doing school of programming (I agree, BTW), and this text does a good job in this regard.
Each chapter illustrates an application and the student downloads a copy of the application with certain code omitted. It is the student's job to type in the code that is needed from the examples in the chapter. The authors extensively discuss each line of code the student types in. Quite interesting, actually. The drawback to this approach is that (at least in the earlier chapters), the program uses code that has not yet been introduced or discussed. Personally, I found this to somewhat upsetting.
On the whole, however, it did keep me focused on the concepts introduced in the chapter.
Another reservation about the book is the introduction of GUI so early. Each chapter introduced the technical details of some GUI Component, as well as one or more programming concepts. I would have preferred a thorough coverage of loops, methods, etc., and then a coverage of GUI.
Wednesday, December 9, 2009
Great JAVA Tutorials I
A complete course in Java is available for all. It contains lectures by a very entertaining instructor, Mehran Sahami, at Stanford University
Professor Sahami will go to almost any lengths to make his lectures entertaining and dynamic. This course is strongly recommended for those who wish to refresh their Java instruction or those who are just learning the language.
A direct link is here.
Take a look at this if you want to receive instruction from one of the best instructors at one of the best institutions of higher learning in the world.
Bob
Professor Sahami will go to almost any lengths to make his lectures entertaining and dynamic. This course is strongly recommended for those who wish to refresh their Java instruction or those who are just learning the language.
A direct link is here.
Take a look at this if you want to receive instruction from one of the best instructors at one of the best institutions of higher learning in the world.
Bob
Hello, World
Hi, everyone...
My name is Bob Lake and I've just completed 2 basic JAVA courses at a local university. I am quite entranced with the power of this language and want to keep studying. I've got a hunch there are others like me out there who have just finished a course or two and would like to continue their education in JAVA. Hence StudentJAVA.Blogspot.com!
I am a retired professor of accounting and have a great deal of time to cruise the net for appropriate materials for those wanting to continue improving their professional skills. I will soon be posting on some tutorials I have found. I will review and describe each and give you links to all.
My name is Bob Lake and I've just completed 2 basic JAVA courses at a local university. I am quite entranced with the power of this language and want to keep studying. I've got a hunch there are others like me out there who have just finished a course or two and would like to continue their education in JAVA. Hence StudentJAVA.Blogspot.com!
I am a retired professor of accounting and have a great deal of time to cruise the net for appropriate materials for those wanting to continue improving their professional skills. I will soon be posting on some tutorials I have found. I will review and describe each and give you links to all.
Subscribe to:
Posts (Atom)