There are several supplements to this book, including the seminar-on-CD packaged in the back and other items and seminars available through the MindView web site.
This appendix describes these supplements so that you can decide if they will be helpful to you.
The CD that is bound in the back of this book is intended to provide foundation material to prepare you to learn Java from this book. The bulk of the 400+ Megabytes of the CD is a full multimedia course called Foundations for Java. This includes the Thinking in C seminar, which gives you an introduction to the C syntax, operators and functions that Java syntax is based upon. In addition, it includes the first seven lectures from the 2nd edition of the Hands-On Java seminar-on-CD that I created and narrate. Although historically the entire Hands-On Java CD is only available for sale separately (this is also the case with the 3rd edition of the Hands-On Java CD), I decided to include the first seven lectures from the 2nd edition because the concepts in these lectures have not changed substantially due to the 3rd edition of the book, and so it will not only provide you (along with Thinking in C) with a foundation for this book, but in addition I hope it will give you a taste for the quality and value of the Hands-On Java CD, 3rd edition.
The CD is described in more detail in this books Introduction.
This Hands-On Java CD, 3rd edition, contains an extended version of the material from the Thinking in Java seminar and is based on this book. There is an audio lecture and slides corresponding to every chapter in the book. I created the seminar (more recently, with input from Andrea Provaglio, who teaches most of the live versions of the seminar) and I narrate the material on the CD. The Hands-On Java CD 3rd edition is for sale at www.MindView.net.
My company MindView, Inc. now gives this as the public and in-house Thinking in Java seminar; this is our main introductory seminar that provides the foundation for our more advanced seminars. You can find details at www.MindView.net. (The introductory seminar is also available as the Hands-On Java CD ROM. Information is available at the same Web site.)
My company provides five-day, hands-on, public and in-house training seminars based on the material in this book. Selected material from each chapter represents a lesson, which is followed by a monitored exercise period so each student receives personal attention. The audio lectures and slides for the introductory seminar are also captured on CD ROM to provide at least some of the experience of the seminar without the travel and expense. For more information, go to www.BruceEckel.com. Feedback
The new book isnt a second volume, but rather a more advanced topic. It will be called Thinking in Enterprise Java and is currently available (in some form) as a free download from www.BruceEckel.com. Because it is a separate book, it can expand to fit the necessary topics. The goal, like Thinking in Java, is to produce a very understandable coverage of the basics of the J2EE technologies so that the reader is prepared for more advanced coverage of those topics.
The biggest of these include server-side Java (primarily Servlets & JavaServer pages, or JSPs), which is truly an excellent solution to the World Wide Web problem, wherein weve discovered that the various Web browser platforms are just not consistent enough to support client-side programming. In addition, there is the whole problem of easily creating applications to interact with databases, transactions, security, and the like, which is involved with Enterprise Java Beans (EJBs). These topics are wrapped into the chapter formerly called Network Programming and now called Distributed Computing, a subject that is becoming essential to everyone. Youll also find this chapter has been expanded to include an overview of Jini (pronounced genie, and it isnt an acronym, just a name), which is a cutting-edge technology that allows us to change the way we think about interconnected applications.
List of potential chapters, from Wiki page
This seminar introduces you to the practical development of real-world, Web-enabled, distributed applications with Java. It covers J2EE and its key technologies: Enterprise JavaBeans, Servlets, Java ServerPages, and the basic architectural patterns used to combine these technologies into maintainable applications.
You'll come out of this course with a comprehensive understanding of the J2EE architecture, of the problems that it is designed to solve, how to select the most appropriate tools, and how to code your solutions.
Visit www.MindView.net
This seminar has evolved from the Objects & Patterns seminar that Bill Venners and I have given for the past several years. That seminar grew too full, so weve split it into two seminars: this one, and the Thinking in Patterns seminar described later in this appendix.
An important part of good object-oriented design is well-designed objects. Half of the seminar (distributed throughout the week) is the Object Design Workshop, which focuses on guidelines and idioms that help you create well-designed objects. Each of these will be explained and justified, and then discussed by the attendees. This discussion is an integral part of the workshop, aimed at facilitating a conversation about design among peers that can help everyone to learn from each others experiences and perspectives. The Object Design Workshop will give you a specfic set of practical guidelines and concrete idioms that you can draw upon in your future object designs.
The other half of this seminar will focus on the process of developing and building a system, primarily focusing on so-called Agile Methods or Lightweight methodologies, especially Extreme Programming (XP). We will introduce methodologies in general, small tools like the index-card planning techniques described in Planning Extreme Programming (Beck and Fowler, 2002), CRC cards for object design, pair programming, iteration planning, unit testing, automated building, source-code control, and similar topics. The course will include an XP project that will be developed throughout the week.
One of the most important steps forward in object-oriented design is the design patterns movement, chronicled in Design Patterns, by Gamma, Helm, Johnson & Vlissides (Addison-Wesley 1995). That book shows 23 different solutions to particular classes of problems. In this section, the basic concepts of design patterns will be introduced along with examples. The Design Patterns book is a source of what has now become an essential, almost mandatory, vocabulary for OOP programmers.
The material in this section shows design patterns that have been used in the Java Standard Libraries, and also follows the Design Patterns material that has been spun off from Thinking in Java (2nd ed) into its own book, Thinking in Patterns, a preliminary version of which you can find at this link. The best way to find out what's in this portion of the seminar is to download the book.
Much of the presentation is an example of the design evolution process, starting with an initial solution and moving through the logic and process of evolving the solution to more appropriate designs. The last project shown (a trash recycling simulation) has evolved over time, and you can look at that evolution as a prototype for the way your own design can start as an adequate solution to a particular problem and evolve into a flexible approach to a class of problems.
Following each lecture there will be a set of patterns exercises for you to solve, where you are guided to write code to apply particular patterns to the solution of programming problems.
My company also provides consulting, mentoring and walkthrough services to help guide your project through its development cycleespecially your companys first Java project. Feedback