The Internet and the World Wide Web are revolutionizing software development with multimedia-intensive, platform-independent code for conventional Internet-, Intranet- and Extranet-based applications. This college-level textbook carefully explains how to program multitiered, client/server, database-intensive, Web-based applications.
Authors Harvey and Paul Dietel are the principals of Deitel & Associates, Inc., the internationally-recognized training and consulting organization specializing in Java, C++, C, Visual Basic® , object technology, and Internet and World Wide Web programming training. They are also the authors of the best-selling college-level textbooks including C++ How to Program (2/e), Java How to Program (3/e), C How to Program (2/e) and Visual Basic® 6 How to Program. The Deitels and their colleague Tem Nieto introduce the fundamentals of Internet and World Wide Web programming. Key topics include:
Internet and World Wide Web How to Program include:
Internet and World Wide Web How to Program is the centerpiece of a family of resources for teaching and learning Internet and World Wide Web programming, including a Web site (http://www.prenhall.com/deitel) with the book's code examples and other information for faculty, students and professional programmers; an optional interactive CD-ROM (Internet and World Wide Web Multimedia Cyber Classroom) containing extensive interactivity features-such as thousands of hyperlinks and audio walkthroughs of the code examples in Internet and World Wide Web How to Program - and e-mail access to the authors at email@example.com
1. Introduction to Computers and the Internet.
2. Introduction to Internet Explorer 5 and the World Wide Web.
3. Introduction to HyperText Markup Language 4 (HTML 4).
4. Intermediate HTML 4.
5. Paint Shop Pro.
6. Microsoft FrontPage Express.
7. Introduction to Microsoft Visual InterDev 6.
14. Dynamic HTML: Cascading Style Sheets(tm) (CSS).
15. Dynamic HTML: Object Model and Collections.
16. Dynamic HTML: Event Model.
17. Dynamic HTML: Filters and Transitions.
18. Dynamic HTML: Data Binding with Tabular Data Control.
19. Dynamic HTML: Structured Graphics ActiveX Control.
20. Dynamic HTML: Path, Sequencer and Sprite ActiveX Controls.
21. Multimedia: Audio, Video, Speech Synthesis and Recognition.
22. Dynamic HTML: Client-Side Scripting with VBScript.
23. Electronic Commerce and Security.
24. Web Servers (PWS, IIS, Apache, Jigsaw).
25. Database: SQL, ADO and RDS.
26. Active Server Pages (ASP).
27. CGI (Common Gateway Interface) and Perl 5.
28. XML (Extensible Markup Language).
29. Servlets: Bonus for Java(tm) Developers.
Live in fragments no longer. Only connect.
Edward Morgan Forster
Welcome to the exciting world of Internet and World Wide Web programming. This book is by an old guy and two young guys. The old guy (HMD; Massachusetts Institute of Technology 1967) has been programming and/or teaching programming for 38 years. The two young guys (PJD; MIT 1991 and TRN; MIT 1992) have each been programming and/or teaching programming for 18 years. The old guy programs and teaches from experience; the young guys do so from an inexhaustible reserve of energy. The old guy wants clarity; the young guys want performance. The old guy seeks elegance and beauty; the young guys want results. We got together to produce a book we hope you will find informative, challenging and entertaining.
The Internet and the World Wide Web are evolving rapidly, if not explosively. This creates tremendous challenges for us as authors, for our publisher Prentice Hall, for instructors, and for students and professional people.
The World Wide Web now increases the prominence of the Internet in information systems, strategic planning and implementation. Organizations want to integrate the Internet "seamlessly" into their information systems.
Internet and World Wide Web How to Program is the fifth book in the Deitel/Prentice Hall How to Program series. It is distinguished by its focus on Web-based application development (emphasized in our server-side treatment). We wrote it fresh on the heels of Java How to Program: Third Edition.
We have emphasized color throughout the book. Almost from the start, the World Wide Web has been a colorful, multimedia-intensive medium. It appeals to both our visual and auditory senses. Someday it may even appeal to our senses of touch, taste and smell as well! We suggested to our publisher, Prentice Hall, that they should publish this book in color. The use of color in this book is crucial to understanding and appreciating scores of the book's programs. We hope it helps you develop more appealing Web-based applications.
Many books about the Web concentrate on developing attractive Web pages. We certainly discuss that subject intensely. However, the key focus of this book is really Web-based applications development. Our audiences want to build real-world, industrial-strength, Web-based applications. These audiences care about good looking Web pages. But they also care about client/server systems, databases, distributed computing, etc.
Many books about the Web are reference manuals with exhaustive listings of features. That is not our style. We concentrate on creating real applications. We provide the live-code examples on the CD accompanying this book so that you can run the applications, and see and hear for yourself the multimedia outputs. You can interact with our game programs and art programs.
The Web is an artist's paradise. Your creativity is your only limitation. But the Web contains so many tools and mechanisms to leverage your abilities that even if you are not artistically inclined, you can still create stunning outputs. Our goal is to help you master these tools and mechanisms so that you can maximize your creativity and development abilities. Not only will the Web help you increase your productivity, but it will also open up to you whole new areas of expertise that you never thought you had.
We are excited about the enormous range of possibilities the Internet and the Web offer. We have worked hard to create hundreds of useful live-code examples to help you master Internet and Web programming quickly and effectively. All of the code examples are on the accompanying disk and are available for free download from our Web site:
Dynamic HTML is a means of adding "dynamic content" to World-Wide-Web pages. Instead of Web pages with only text and static graphics, Web pages "come alive" with audios, videos, animations, interactivity, and three-dimensional imaging. Dynamic HTML's features are precisely what businesses and organizations need to meet today's information processing requirements. So we immediately viewed Dynamic HTML as having the potential to become one of the world's key general-purpose programming languages.
People want to communicate. People need to communicate. Sure, they have been communicating since the dawn of civilization, but computer communications have been mostly limited to digits, alphabetic characters and special characters. The next major wave in communications is surely multimedia. People want to transmit pictures and they want those pictures to be in color. They want to transmit voices, sounds and audio clips. They want to transmit full-motion color video. And at some point, they will insist on three-dimensional, moving-image transmission. Our current flat, two-dimensional televisions will eventually be replaced with three-dimensional versions that turn our living rooms into "theaters-in-the-round." Actors will perform their roles as if we were watching live theater. Our living rooms will be turned into miniature sports stadiums. Our business offices will enable video conferencing among colleagues half a world apart as if they were sitting around one conference table. The possibilities are intriguing and the Internet is sure to play a key role in making many of these possibilities become reality.
There have been predictions that the Internet will eventually replace the telephone system. Why stop there? It could also replace radio and television as we know them today. It's not hard to imagine the Internet and the World Wide Web replacing the newspaper with completely electronic news media. Many newspapers and magazines already offer Web-based versions, some fee based and some free. Increased bandwidth is making it possible to stream audio and video over the Web. Companies and even individuals already run their own Web-based radio and television stations. Just a few decades ago, there were only a few television stations. Today, standard cable boxes accommodate about 100 stations. In a few more years, we will have access to thousands of stations broadcasting over the Web worldwide. This textbook you are reading may someday appear in a museum alongside radios, TVs and newspapers in an "early media of ancient civilization" exhibit.
One exciting possibility is that people with disabilities will be able to take advantage of computing and communications through the Internet and especially through the Web. In this regard, the World Wide Web Consortium (W3C) is pursuing its Web Accessibility Initiative. Information about the Web Accessibility Initiative is available at
The goal of the WAI is to transform the Web into a medium in which all people, are able to access and use the technology and information available.
Internet and World Wide Web How to Program contains a rich collection of examples, exercises, and projects drawn from many fields to provide the student with a chance to solve interesting real-world problems. The book concentrates on the principles of good software engineering and stresses program clarity. We avoid arcane terminology and syntax specifications in favor of teaching by example. The book is written by educators who spend most of their time teaching edge-of-the-practice topics in industry classrooms worldwide. The text emphasizes good pedagogy.
The book is loaded with hundreds of live-code examples. This is the focus of the way we teach and write about programming, and the focus of each of our multimedia Cyber Classrooms as well. Each new concept is presented in the context of a complete, working program immediately followed by one or more windows showing the program's input/output dialog. We call this style of teaching and writing our live-code approach. We use the language to teach the language. Reading these programs is much like entering and running them on a computer.
All of the code for Internet and World Wide Web How to Program (and our other publications) is on the Internet free for download at the Deitel & Associates, Inc. Web site
Please download all the code then run each program as you read the text. Make changes to the code examples and immediately see the effects of those changes. It's a great way to learn programming by doing programming. Note: You must respect the fact that this is copyrighted material. Feel free to use it as you study, but you may not republish any portion of it in any form without explicit permission from Prentice Hall and the authors.
Each chapter begins with a statement of Objectives. This tells the student what to expect and gives the student an opportunity, after reading the chapter, to determine if he or she has met these objectives. It is a confidence builder and a source of positive reinforcement.
The learning objectives are followed by quotations. Some are humorous, some are philosophical, and some offer interesting insights. Our students enjoy relating the quotations to the chapter material. Many of the quotations are worth a "second look" after you read each chapter.
The chapter Outline helps the student approach the material in top-down fashion. This, too, helps students anticipate what is to come and set a comfortable and effective learning pace.
We present features in the context of complete, working programs. This is the focus of our teaching and our writing. We call it our "live-code" approach. Each program is followed by the outputs produced when the document is rendered and its scripts are executed. This enables the student to confirm that the programs run as expected. Reading the book carefully is much like entering and running these programs on a computer. The programs range from just a few lines of code to substantial examples with several hundred lines of code. Students should download all the code for the book from our Web site and run each program while studying that program in the text. The programs are available at
We have included programming tips to help students focus on important aspects of program development. We highlight hundreds of these tips in the form of Good Programming Practices, Common Programming Errors, Testing and Debugging Tips, Performance Tips, Portability Tips, Software Engineering Observations and Look-and-Feel Observations. These tips and practices represent the best we have gleaned from a combined seven decades of programming and teaching experience. One of our students a mathematics major told us that she feels this approach is like the highlighting of axioms, theorems, and corollaries in mathematics books; it provides a foundation on which to build good software.
When we teach introductory courses, we state that the "buzzword" of each course is "clarity," and we highlight as Good Programming Practices techniques for writing programs that are clearer, more understandable, more debuggable, and more maintainable.
Students learning a language tend to make certain errors frequently. Focusing the students' attention on these Common Programming Errors helps students avoid making the same errors. It also helps reduce the long lines outside instructors' offices during office hours!
When we first designed this "tip type," we thought we would use it strictly to describe how to test and debug programs. In fact, many of the tips simply describe aspects of markup languages and scripting languages that reduce the likelihood of introducing "bugs" in the first place and thus simplify the testing and debugging process for programs.
In our experience, teaching students to write clear and understandable programs is by far the most important goal for a first programming course. But students want to write the programs that run the fastest, use the least memory, require the smallest number of keystrokes, or dazzle in other nifty ways. Students really care about performance. They want to know what they can do to "turbo charge" their programs. So we have included many Performance Tips that highlight opportunities for improving program performance.
Some programmers assume that if they implement a Web application, the application will automatically be "perfectly" portable across all browsers. Unfortunately, this is not always the case. We include Portability Tips to help students write portable code, and also to provide insights on how complex an issue portability truly is.
The Software Engineering Observations highlight architectural and design issues that affect the construction of software systems, especially large-scale systems. Much of what the student learns here will be useful in upper-level courses and in industry as the student begins to work with large, complex real-world systems.
We provide Look-and-Feel Observations to highlight graphical user interface conventions. These observations help students design their own graphical user interfaces to conform with industry norms.
Each chapter ends with additional pedagogical devices. We present a thorough, bullet-list-style Summary of the chapter. On average, there are 38 summary bullets per chapter. This helps the students review and reinforce key concepts.
We include in a Terminology section an alphabetized list of the important terms defined in the chapter again, further reinforcement. On average, there are 84 terms per chapter.
For ease of reference, we collect at the back of each chapter the Good Programming Practices, Common Programming Errors, Testing and Debugging Tips, Performance Tips, Portability Tips, Software Engineering Observations and Look-and-Feel Observations.
Extensive self-review exercises and answers are included for self-study. This gives the student a chance to build confidence with the material and prepare for the regular exercises. Students should attempt all the self-review exercises and check their answers.
Each chapter concludes with a substantial set of exercises including simple recall of important terminology and concepts; writing individual statements; writing small portions of methods and classes; writing complete methods, classes, applets and applications; and writing major term projects. The large number of exercises across a wide variety of areas enables instructors to tailor their courses to the unique needs of their audiences and to vary course assignments each semester. Instructors can use these exercises to form homework assignments, short quizzes and major examinations. The solutions for most of the exercises are included in the Instructor's Manual and on the disks available only to instructors through their Prentice Hall representatives. Note: Please do not write to us requesting the instructor's manual. Distribution of this publication is strictly limited to college professors teaching from the book. Instructors may obtain the solutions manual only from their regular Prentice Hall representatives. We regret that we cannot provide the solutions to professionals. Solutions to approximately half of the exercises are included on the Internet and World Wide Web Multimedia Cyber Classroom CD (available in bookstores and computer stores; please see the last few pages of this book or visit our Web site at http://www.deitel.com/ for ordering instructions).
We have included an extensive Index at the back of the book. This helps the student find any term or concept by keyword. The Index is useful to people reading the book for the first time and is especially useful to practicing programmers who use the book as a reference. Each of the terms in the Terminology sections appears in the Index (along with many more index items from each chapter). Students can use the Index in conjunction with the Terminology sections to be sure they have covered the key material of each chapter.
Internet and World Wide Web How to Program has 202 live-code examples and 590 exercises (including parts). Many of the exercises are challenging problems or projects requiring substantial effort. We have "double indexed" each of the live-code examples and most of the more challenging projects. For every source-code program in the book, we took the file name and indexed it both alphabetically and as a subindex item under "Examples." This makes it easier to find examples using particular features. The more substantial exercises, such as "Maze Generator and Walker," are indexed both alphabetically (in this case under "M") and as subindex items under "Exercises."
An extensive bibliography of books, articles and online documentation is included to encourage further reading.
As we write this, there exist few formal university courses dedicated solely to programming for the Internet and the World Wide Web. This book is our view of an Internet and World Wide Web programming course we felt that writing a book on this subject would prompt faculty to teach these topics.
We welcome any feedback you may have about how to improve this book for future editions. In addition, please let us know if you have Netscape-specific requirements that we might be able to help with so that you may effectively use the book in your classes.
The following brief walk-through discusses the exciting technologies covered in the book. Chapter 1 contains a more detailed walk-through.
In Chapter 1 we present some historical information about computers and computer programming, as well as introductory information about the Internet and the World Wide Web. In Chapter 2, we introduce Microsoft's powerful Internet Explorer 5 (IE5) browser and several of its included programs such as Chat, NetMeeting and Outlook Express (included on the CD for both the professional and academic markets).
Chapter 5 is an introduction to Jasc Software's Paint Shop Pro 5 (a 30-day evaluation copy of the software is included on the CD). Great Web pages often come alive with rich graphics and multimedia. This chapter explains how to use many of Paint Shop Pro's powerful graphics capabilities to create images that can add pizzazz to Web pages.
In Chapter 6, we introduce Microsoft FrontPage Express a simple WYSIWYG HTML editor that allows you to create Web pages quickly and easily.
Chapter 7 is an Introduction to Microsoft Visual InterDev 6, a heavy-duty, industrial-strength integrated development environment for developing Internet and World-Wide-Web based applications. In this chapter, we discuss the basics of the InterDev environment. In later chapters of the book, you can use InterDev with various server-side technologies such as Active Server Pages to quickly build powerful Web-based applications. Note: Although Chapter 7 is the only chapter of this book that uses Visual InterDev, you can (optionally) choose to use InterDev throughout the book. Readers not interested in using InterDev should simply skip Chapter 7.
In Chapters 14 through 20 we teach Dynamic HTML. In these chapters we cover Cascading Style Sheets (CSS), the DHTML object model and collections, the event model, filters and transitions, data binding with the Tabular Data Control, and four ActiveX controls useful for enhancing your page's visual appeal the Structured Graphics Control, Sprite Control, Sequencer Control, and Path Control. Dynamic HTML is stunning! In these chapters, students will turn their Web sites into dynamic masterpieces. From sorting data on the client side to applying dynamic light filters to images, Dynamic HTML is a truly powerful way to add glitz, glimmer and animation in a way that minimizes the load on your servers and the Internet to your Web pages.
Chapter 21, "Multimedia", is a delight! We focus on the explosion of audio, video and speech technology appearing on the Web. Students will learn how to add sound and video to their Web pages. They learn how to add animated characters which handle both speech synthesis and voice recognition with Microsoft Agent. This chapter demonstrates how to incorporate streaming audio, specifically for the RealNetworks RealPlayer into a Web page. We also demonstrate an example of embedding VRML, the three-dimensional Virtual Reality Modeling Language.
Chapter 23, "Electronic Commerce and Security," is a unique chapter for an introductory programming textbook. The Web has caused a complete rethinking of the way systems should most effectively be designed and implemented. E-Commerce is hot! Businesses are reinventing themselves online, incorporating Internet and Web technology into existing systems and new information systems design. The trade publications are abuzz with e-commerce. This chapter discusses the fundamentals of conducting business on the Internet and the Web. Our goal is to give students an understanding of how important this topic is now and how it will continue to be important as they pursue their careers. We present a number of case studies, with the key goal of highlighting the common core of technologies needed to implement e-commerce systems. We emphasize the importance of Internet and Web technology, database technology, security technology and others. Then in the remainder of the server-side programming chapters, we put many of these technologies to work in constructing actual multi-tiered, client/server, database-intensive Web-based systems.
In Chapter 24, we present several major Web servers in use today. We focus on setting up Microsoft's Personal Web Server (PWS) as a simple server with which students can begin to grasp the complexities involved in running a Web site. Three other Web servers Microsoft's Internet Information Server (IIS), the W3C's Java-based Jigsaw Server and Apache (the most widely used server on the Web today) are presented later in that chapter, with overviews and directions should the student desire to move past the limited functionality and configurability of Personal Web Server. Note: Although we mention these server software packages in our book, our organization does not provide support for them.
A common topic among all three server technologies is the ability to interact with databases. Databases are crucial to any intensive e-commerce application maintaining customer lists, product lists, user names and passwords. To that effect, our book offers discussions of a variety of database technologies. In Chapter 17, we cover Microsoft's Tabular Data Control (TDC), which uses an ActiveX control to sort and filter data directly on the client side. Chapter 25 is devoted exclusively to database topics, including an introduction to the Structured Query Language (SQL), the de facto language for querying databases), a discussion of ActiveX Data Objects (ADO), Open Database Connectivity (ODBC) and Remote Data Services (RDS), which complements the TDC by allowing the client effect state changes in the server-side database. The chapters devoted to ASP, Perl, and Java Servlets all cover implementing database access smoothly into your Web-based applications.
Chapter 27 presents a nice introduction to CGI and Perl, including many real-world, live-code examples and discussions, including demonstrations of some of the most recent features of each of these technologies. As an example, we use Perl's regular expressions and file I/O capabilities to construct a simple search engine.
In Chapter 29 we discuss Java servlets, a third popular way of building the server side of Web-based applications (the other two are ASP and Perl/CGI). This chapter is included as a "bonus section" for the portion of our audience that is familiar with Java.
The CD-ROM at the end of this book contains Microsoft's Internet Explorer 5 and Personal Web Server 4, JASC Software's Paint Shop Pro 5 (30-day evaluation version) and Adobe Acrobat Reader 4. The CD also contains the book's examples and an HTML Web page with links to the Deitel & Associates, Inc. Web site, the Prentice Hall Web site and the many Web sites listed in the Web resources sections of several chapters. If you have access to the Internet, this Web page can be loaded into your World Wide Web browser to give you quick access to all the resources.
For complete CD-ROM installation instructions, use your browser to read the file
WELCOME.HTM on the CD. We will be putting additional information on our Web site:
http://www.deitel.com/. We do not provide support for the software application programs. However, if you have technical questions about the installation of the CD, please email
firstname.lastname@example.org. A timely response will be returned to you.
We have prepared an interactive, CD-ROM-based, software version of Internet and World Wide Web How to Program called the Internet and World Wide Web Programming Multimedia Cyber Classroom. It is loaded with features for learning and reference. The Cyber Classroom is wrapped with the textbook at a discount in The Complete Internet and World Wide Web Programming Training Course. If you already have the book and would like to purchase the Internet and World Wide Web Programming Multimedia Cyber Classroom separately, please call 1-800-811-0912 and ask for ISBN# 0-13-016842-4.
The CD has an introduction with the authors overviewing the Cyber Classroom's features. The 202 live-code example programs in the textbook truly "come alive" in the Cyber Classroom. If you are viewing a program and want to execute it, simply click on the lightning bolt icon and the program will run. You will immediately see and hear for the audio-based multimedia programs the program's outputs. If you want to modify a program and see and hear the effects of your changes, simply click the floppy-disk icon that causes the source code to be "lifted off" the CD and "dropped into" one of your own directories so that you can edit the text, recompile the program and try out your new version. Click the speaker icon for an audio that talks about the program and "walks you through" the code.
The Cyber Classroom also provides navigational aids including extensive hyperlinking. The Web browser remembers in a "history list" recent sections you have visited and allows you to move forward or backward through them. The thousands of index entries are hyperlinked to their text occurrences. You can key in a term using the "Search" feature and the Cyber Classroom will locate occurrences of that term throughout the text. The Table of Contents entries are "hot," so clicking a chapter name takes you to that chapter.
Students like the hundreds of solved problems from the textbook that are included with the Cyber Classroom. Studying and running these extra programs is a great way for students to enhance their learning experience.
Students and professional users of our Cyber Classrooms tell us they like the interactivity and that the Cyber Classroom is an effective reference because of the extensive hyperlinking and other navigational features. We recently had an email from a person who said that he lives "in the boonies" and cannot take a live course at a university, so the Cyber Classroom was a nice solution to his educational needs.
Professors tell us that their students enjoy using the Cyber Classroom, spend more time on the course and master more of the material than in textbook-only courses. Also, the Cyber Classroom helps shrink lines outside professors' offices during office hours. We have also published the C++ Multimedia Cyber Classroom (2/e), the Visual Basic 6 Multimedia Cyber Classroom and the Java 2 Multimedia Cyber Classroom (3/e).
We would sincerely appreciate your comments, criticisms, corrections and suggestions for improving the text. Please address all correspondence to our email address:
We will respond immediately. Well, that's it for now. Welcome to the exciting world of Internet and World Wide Web programming. We hope you enjoy this look at leading-edge computer applications development. Good luck!
Dr. Harvey M. Deitel Paul J. Deitel Tem R. Nieto
Dr. Harvey M. Deitel, CEO of Deitel & Associates, Inc., has 38 years experience in the computing field including extensive industry and academic experience. He is one of the world's leading computer science instructors and seminar presenters. Dr. Deitel earned B.S. and M.S. degrees from the Massachusetts Institute of Technology and a Ph.D. from Boston University. He worked on the pioneering virtual memory operating systems projects at IBM and MIT that developed techniques widely implemented today in systems like UNIX and Windows NT. He has 20 years of college teaching experience including earning tenure and serving as the Chairman of the Computer Science Department at Boston College before founding Deitel & Associates, Inc. with Paul J. Deitel. He is author or co-author of several dozen books and multimedia packages and is currently writing many more. With translations published in Japanese, Russian, Spanish, Basic Chinese, Advanced Chinese, Korean, French, Polish and Portuguese, Dr. Deitel's texts have earned international recognition. Dr. Deitel has delivered professional seminars internationally to major corporations, government organizations and various branches of the military.
Paul J. Deitel, Executive Vice President of Deitel & Associates, Inc., is a graduate of the Massachusetts Institute of Technology's Sloan School of Management where he studied Information Technology. Through Deitel & Associates, Inc. he has delivered Java, C and C++ courses for industry clients including Compaq, Digital Equipment Corporation, Sun Microsystems, Rogue Wave Software, Computervision, Stratus, Fidelity, Cambridge Technology Partners, Open Environment Corporation, One Wave, Hyperion Software, Lucent Technologies, Adra Systems, Entergy, CableData Systems, NASA at the Kennedy Space Center, the National Severe Storm Laboratory, White Sands Missile Range, IBM and many others. He has lectured on C++ and Java for the Boston Chapter of the Association for Computing Machinery. He has taught satellite-based Java courses through a cooperative venture of Deitel & Associates, Inc., Prentice Hall and the Technology Education Network. He is the co-author of sixteen books and multimedia packages with Harvey Deitel and is currently writing many more.
Tem R. Nieto, Principal Instructor with Deitel & Associates, Inc., is a graduate of the Massachusetts Institute of Technology where he studied engineering and computing. Through Deitel & Associates, Inc. he has delivered courses for industry clients including Sun Microsystems, Digital Equipment Corporation, Compaq, EMC, Stratus, Fidelity, Art Technology, Progress Software, Toys "R" Us, Operational Support Facility of the National Oceanographic and Atmospheric Administration, Jet Propulsion Laboratory, Nynex, Motorola, Federal Reserve Bank of Chicago, Banyan, Schlumberger, University of Notre Dame, NASA, various military installations and many others. He has co-authored five books and multimedia packages with the Deitels and contributed to several others.
The Deitels are co-authors of the best-selling introductory college computer-science programming language textbooks, C How to Program: Second Edition, C++ How to Program: Second Edition, Java How to Program: Third Edition and Visual Basic 6 How to Program (co-authored with Tem R. Nieto). The Deitels are also co-authors of the C & C++ Multimedia Cyber Classroom: Second Edition Prentice Hall's first multimedia-based textbook, the Java 2 Multimedia Cyber Classroom: Third Edition, the Visual Basic 6 Multimedia Cyber Classroom co-authored with their colleague Tem R. Nieto and the Internet and World Wide Web Programming Multimedia Cyber Classroom. The Deitels are also co-authors of The Complete C++ Training Course: Second Edition, The Complete Visual Basic 6 Training Course, The Complete Java 2 Training Course: Third Edition and The Complete Internet and World Wide Web Programming Training Course these products each contain the corresponding How to Program Series textbook and the corresponding Multimedia Cyber Classroom.
Deitel & Associates, Inc. is an internationally recognized corporate training and publishing organization specializing in programming languages, Internet/World Wide Web technology and object technology education. Deitel & Associates, Inc. is a member of the World Wide Web Consortium. The company provides courses on Java, C++, Visual Basic, C, Internet and World Wide Web programming, and Object Technology. The principals of Deitel & Associates, Inc. are Dr. Harvey M. Deitel and Paul J. Deitel. The company's clients include some of the world's largest computer companies, government agencies, branches of the military and business organizations. Through its publishing partnership with Prentice Hall, Deitel & Associates, Inc. publishes leading-edge programming textbooks, professional books, interactive CD-ROM-based multimedia Cyber Classrooms, satellite courses and World Wide Web courses. Deitel & Associates, Inc. and the authors can be reached via email at
To learn more about Deitel & Associates, Inc., its publications, public seminar schedule and worldwide corporate on-site curriculum, see the last few pages of this book and visit:
Deitel & Associates, Inc. has competitive opportunities in its College Internship Program for students in the Boston area. For information, please contact Abbey Deitel at email@example.com.
Individuals wishing to purchase Deitel books and multimedia packages can do so through
Bulk orders by corporations and academic institutions should be placed directly with Prentice Hall see the last few pages of this book for worldwide ordering details.