Visual CR 2005: How to Program, Second Edition


   
book cover
  
• Table of Contents
• Index
Visual C#® 2005: How to Program, Second Edition
By H. M. Deitel -  Deitel & Associates, Inc., P. J. Deitel -  Deitel & Associates, Inc.
Publisher: Prentice Hall
Pub Date: December 15, 2005
Print ISBN-10: 0-13-152523-9
Print ISBN-13: 978-0-13-152523-8
eText ISBN-10: 0-13-133214-7
eText ISBN-13: 978-0-13-133214-0
Pages: 1648
 


Learn how to build winning C# applications, start to finish, using the Deitels' proven methodology and signature Live-Code(tm) Approach! This new edition includes extensive use of Visual Studio 2005's new visual programming tools that tremendously reduce the amount of code programmers need to write in ADO.NET and ASP.NET applications. With these new tools, programmers can develop powerful ADO.NET and ASP.NET applications quickly and easily



   
book cover
  
• Table of Contents
• Index
Visual C#® 2005: How to Program, Second Edition
By H. M. Deitel -  Deitel & Associates, Inc., P. J. Deitel -  Deitel & Associates, Inc.
Publisher: Prentice Hall
Pub Date: December 15, 2005
Print ISBN-10: 0-13-152523-9
Print ISBN-13: 978-0-13-152523-8
eText ISBN-10: 0-13-133214-7
eText ISBN-13: 978-0-13-133214-0
Pages: 1648
 


   Copyright
   Deitel® Series Pageii
   Prefacexxiii
      Before You Beginxxiv
      Features in Visual C# 2005 How to Program, 2/exxv
      Teaching Approachxxix
      A Tour of the Optional Case Study on Object-Oriented Design with the UMLxxxii
      Teaching Resources for Visual C# 2005 How to Program, 2/exxxiv
      DEITEL® Buzz Online Free E-mail Newsletterxxxiv
      Acknowledgmentsxxxiv
      About the Authorsxxxvii
      About Deitel & Associates, Incxxxvii
    Chapter 1.  Introduction to Computers, the Internet and Visual C#1
      Section 1.1.  Introduction2
      Section 1.2.  What Is a Computer?3
      Section 1.3.  Computer Organization3
      Section 1.4.  Early Operating Systems4
      Section 1.5.  Personal Computing, Distributed Computing and Client/Server Computing5
      Section 1.6.  Hardware Trends6
      Section 1.7.  Microsoft's Windows® Operating System6
      Section 1.8.  Machine Languages, Assembly Languages and High-Level Languages7
      Section 1.9.  C#9
      Section 1.10.  C, C++, Java and Visual Basic10
      Section 1.11.  Other High-Level Languages11
      Section 1.12.  The Internet and the World Wide Web12
      Section 1.13.  Extensible Markup Language (XML)13
      Section 1.14.  Microsoft's .NET13
      Section 1.15.  The .NET Framework and the Common Language Runtime14
      Section 1.16.  Test-Driving a C# Application15
      Section 1.17.  (Only Required Section of the Case Study) Software Engineering Case Study: Introduction to Object Technology and the UML18
      Section 1.18.  Wrap-Up24
      Section 1.19.  Web Resources24
      Summary26
      Terminology30
      Self-Review Exercises32
      Answers to Self-Review Exercises32
      Exercises33
    Chapter 2.  Introduction to the Visual C# 2005 Express Edition IDE35
      Section 2.1.  Introduction36
      Section 2.2.  Overview of the Visual Studio 2005 IDE36
      Section 2.3.  Menu Bar and Toolbar42
      Section 2.4.  Navigating the Visual Studio 2005 IDE45
      Section 2.5.  Using Help51
      Section 2.6.  Using Visual Programming to Create a Simple Program Displaying Text and an Image53
      Section 2.7.  Wrap-Up66
      Section 2.8.  Web Resources67
      Summary67
      Terminology69
      Self-Review Exercises70
      Answers to Self-Review Exercises71
      Exercises71
    Chapter 3.  Introduction to C# Applications76
      Section 3.1.  Introduction77
      Section 3.2.  A Simple C# Application: Displaying a Line of Text77
      Section 3.3.  Creating Your Simple Application in Visual C# Express83
      Section 3.4.  Modifying Your Simple C# Application90
      Section 3.5.  Formatting Text with Console.Write and Console.WriteLine93
      Section 3.6.  Another C# Application: Adding Integers94
      Section 3.7.  Memory Concepts98
      Section 3.8.  Arithmetic99
      Section 3.9.  Decision Making: Equality and Relational Operators102
      Section 3.10.  (Optional) Software Engineering Case Study: Examining the ATM Requirements Document106
      Section 3.11.  Wrap-Up116
      Summary117
      Terminology119
      Self-Review Exercises121
      Answers to Self-Review Exercises122
      Exercises123
    Chapter 4.  Introduction to Classes and Objects128
      Section 4.1.  Introduction129
      Section 4.2.  Classes, Objects, Methods, Properties and Instance Variables129
      Section 4.3.  Declaring a Class with a Method and Instantiating an Object of a Class131
      Section 4.4.  Declaring a Method with a Parameter135
      Section 4.5.  Instance Variables and Properties138
      Section 4.6.  UML Class Diagram with a Property143
      Section 4.7.  Software Engineering with Properties and set and get Accessors144
      Section 4.8.  Value Types vs. Reference Types145
      Section 4.9.  Initializing Objects with Constructors146
      Section 4.10.  Floating-Point Numbers and Type decimal149
      Section 4.11.  (Optional) Software Engineering Case Study: Identifying the Classes in the ATM Requirements Document156
      Section 4.12.  Wrap-Up163
      Summary164
      Terminology167
      Self-Review Exercises168
      Answers to Self-Review Exercises169
      Exercises170
    Chapter 5.  Control Statements: Part 1171
      Section 5.1.  Introduction172
      Section 5.2.  Algorithms172
      Section 5.3.  Pseudocode173
      Section 5.4.  Control Structures173
      Section 5.5.  if Single-Selection Statement176
      Section 5.6.  if...else Double-Selection Statement177
      Section 5.7.  while Repetition Statement182
      Section 5.8.  Formulating Algorithms: Counter-Controlled Repetition183
      Section 5.9.  Formulating Algorithms: Sentinel-Controlled Repetition188
      Section 5.10.  Formulating Algorithms: Nested Control Statements196
      Section 5.11.  Compound Assignment Operators200
      Section 5.12.  Increment and Decrement Operators202
      Section 5.13.  Simple Types204
      Section 5.14.  (Optional) Software Engineering Case Study: Identifying Class Attributes in the ATM System205
      Section 5.15.  Wrap-Up210
      Summary210
      Terminology213
      Self-Review Exercises214
      Answers to Self-Review Exercises215
      Exercises216
    Chapter 6.  Control Statements: Part 2223
      Section 6.1.  Introduction224
      Section 6.2.  Essentials of Counter-Controlled Repetition224
      Section 6.3.  for Repetition Statement226
      Section 6.4.  Examples Using the for Statement230
      Section 6.5.  do...while Repetition Statement235
      Section 6.6.  switch Multiple-Selection Statement237
      Section 6.7.  break and continue Statements244
      Section 6.8.  Logical Operators246
      Section 6.9.  Structured Programming Summary250
      Section 6.10.  (Optional) Software Engineering Case Study: Identifying Objects' States and Activities in the ATM System258
      Section 6.11.  Wrap-Up263
      Summary263
      Terminology265
      Self-Review Exercises266
      Answers to Self-Review Exercises267
      Exercises268
    Chapter 7.  Methods: A Deeper Look272
      Section 7.1.  Introduction273
      Section 7.2.  Packaging Code in C#274
      Section 7.3.  static Methods, static Variables and Class Math275
      Section 7.4.  Declaring Methods with Multiple Parameters278
      Section 7.5.  Notes on Declaring and Using Methods282
      Section 7.6.  Method Call Stack and Activation Records283
      Section 7.7.  Argument Promotion and Casting284
      Section 7.8.  The Framework Class Library286
      Section 7.9.  Case Study: Random-Number Generation287
      Section 7.10.  Case Study: A Game of Chance (Introducing Enumerations)293
      Section 7.11.  Scope of Declarations298
      Section 7.12.  Method Overloading301
      Section 7.13.  Recursion304
      Section 7.14.  Passing Arguments: Pass-by-Value vs. Pass-by-Reference307
      Section 7.15.  (Optional) Software Engineering Case Study: Identifying Class Operations in the ATM System310
      Section 7.16.  Wrap-Up318
      Summary318
      Terminology322
      Self-Review Exercises323
      Answers to Self-Review Exercises325
      Exercises327
    Chapter 8.  Arrays335
      Section 8.1.  Introduction336
      Section 8.2.  Arrays336
      Section 8.3.  Declaring and Creating Arrays338
      Section 8.4.  Examples Using Arrays339
      Section 8.5.  Case Study: Card Shuffling and Dealing Simulation347
      Section 8.6.  foreach Statement351
      Section 8.7.  Passing Arrays and Array Elements to Methods353
      Section 8.8.  Passing Arrays by Value and by Reference355
      Section 8.9.  Case Study: Class GradeBook Using an Array to Store Grades359
      Section 8.10.  Multidimensional Arrays363
      Section 8.11.  Case Study: Class GradeBook Using a Rectangular Array369
      Section 8.12.  Variable-Length Argument Lists375
      Section 8.13.  Using Command-Line Arguments377
      Section 8.14.  (Optional) Software Engineering Case Study: Collaboration Among Objects in the ATM System379
      Section 8.15.  Wrap-Up386
      Summary387
      Terminology389
      Self-Review Exercises390
      Answers to Self-Review Exercises391
      Exercises392
      Special Section: Building Your Own Computer401
    Chapter 9.  Classes and Objects: A Deeper Look408
      Section 9.1.  Introduction409
      Section 9.2.  Time Class Case Study410
      Section 9.3.  Controlling Access to Members413
      Section 9.4.  Referring to the Current Object's Members with the this Reference414
      Section 9.5.  Indexers417
      Section 9.6.  Time Class Case Study: Overloaded Constructors420
      Section 9.7.  Default and Parameterless Constructors425
      Section 9.8.  Composition426
      Section 9.9.  Garbage Collection and Destructors430
      Section 9.10.  static Class Members431
      Section 9.11.  readonly Instance Variables436
      Section 9.12.  Software Reusability438
      Section 9.13.  Data Abstraction and Encapsulation439
      Section 9.14.  Time Class Case Study: Creating Class Libraries441
      Section 9.15.  internal Access445
      Section 9.16.  Class View and Object Browser447
      Section 9.17.  (Optional) Software Engineering Case Study: Starting to Program the Classes of the ATM System448
      Section 9.18.  Wrap-Up455
      Summary455
      Terminology459
      Self-Review Exercises459
      Answers to Self-Review Exercises460
      Exercises460
    Chapter 10.  Object-Oriented Programming: Inheritance464
      Section 10.1.  Introduction465
      Section 10.2.  Base Classes and Derived Classes466
      Section 10.3.  protected Members468
      Section 10.4.  Relationship between Base Classes and Derived Classes469
      Section 10.5.  Constructors in Derived Classes494
      Section 10.6.  Software Engineering with Inheritance498
      Section 10.7.  Class object500
      Section 10.8.  Wrap-Up502
      Summary502
      Terminology504
      Self-Review Exercises505
      Answers to Self-Review Exercises505
      Exercises506
    Chapter 11.  Polymorphism, Interfaces & Operator Overloading508
      Section 11.1.  Introduction509
      Section 11.2.  Polymorphism Examples511
      Section 11.3.  Demonstrating Polymorphic Behavior512
      Section 11.4.  Abstract Classes and Methods515
      Section 11.5.  Case Study: Payroll System Using Polymorphism517
      Section 11.6.  sealed Methods and Classes532
      Section 11.7.  Case Study: Creating and Using Interfaces533
      Section 11.8.  Operator Overloading543
      Section 11.9.  (Optional) Software Engineering Case Study: Incorporating Inheritance and Polymorphism into the ATM System548
      Section 11.10.  Wrap-Up556
      Summary557
      Terminology559
      Self-Review Exercises559
      Answers to Self-Review Exercises560
      Exercises560
    Chapter 12.  Exception Handling562
      Section 12.1.  Introduction563
      Section 12.2.  Exception Handling Overview564
      Section 12.3.  Example: Divide by Zero Without Exception Handling564
      Section 12.4.  Example: Handling DivideByZeroExceptions and FormatExceptions567
      Section 12.5.  .NET Exception Hierarchy573
      Section 12.6.  finally Block574
      Section 12.7.  Exception Properties582
      Section 12.8.  User-Defined Exception Classes587
      Section 12.9.  Wrap-Up590
      Summary591
      Terminology593
      Self-Review Exercises593
      Answers to Self-Review Exercises594
      Exercises594
    Chapter 13.  Graphical User Interface Concepts: Part 1596
      Section 13.1.  Introduction597
      Section 13.2.  Windows Forms599
      Section 13.3.  Event Handling601
      Section 13.4.  Control Properties and Layout608
      Section 13.5.  Labels, TextBoxes and Buttons612
      Section 13.6.  GroupBoxes and Panels615
      Section 13.7.  CheckBoxes and RadioButtons618
      Section 13.8.  PictureBoxes626
      Section 13.9.  ToolTips628
      Section 13.10.  NumericUpDown Control631
      Section 13.11.  Mouse-Event Handling633
      Section 13.12.  Keyboard-Event Handling636
      Section 13.13.  Wrap-Up639
      Summary639
      Terminology644
      Self-Review Exercises645
      Answers To Self-Review Exercises646
      Exercises646
    Chapter 14.  Graphical User Interface Concepts: Part 2648
      Section 14.1.  Introduction649
      Section 14.2.  Menus649
      Section 14.3.  MonthCalendar Control659
      Section 14.4.  DateTimePicker Control659
      Section 14.5.  LinkLabel Control663
      Section 14.6.  ListBox Control667
      Section 14.7.  CheckedListBox Control671
      Section 14.8.  ComboBox Control674
      Section 14.9.  TreeView Control678
      Section 14.10.  ListView Control684
      Section 14.11.  TabControl Control690
      Section 14.12.  Multiple Document Interface (MDI) Windows695
      Section 14.13.  Visual Inheritance703
      Section 14.14.  User-Defined Controls706
      Section 14.15.  Wrap-Up709
      Summary711
      Terminology714
      Self-Review Exercises716
      Answers to Self-Review Exercises716
      Exercises716
    Chapter 15.  Multithreading719
      Section 15.1.  Introduction720
      Section 15.2.  Thread States: Life Cycle of a Thread721
      Section 15.3.  Thread Priorities and Thread Scheduling723
      Section 15.4.  Creating and Executing Threads725
      Section 15.5.  Thread Synchronization and Class Monitor728
      Section 15.6.  Producer/Consumer Relationship without Thread Synchronization730
      Section 15.7.  Producer/Consumer Relationship with Thread Synchronization737
      Section 15.8.  Producer/Consumer Relationship: Circular Buffer745
      Section 15.9.  Multithreading with GUIs753
      Section 15.10.  Wrap-Up758
      Summary758
      Terminology762
      Self-Review Exercises763
      Answers to Self-Review Exercises764
      Exercises764
    Chapter 16.  Strings, Characters and Regular Expressions765
      Section 16.1.  Introduction766
      Section 16.2.  Fundamentals of Characters and Strings767
      Section 16.3.  string Constructors768
      Section 16.4.  string Indexer, Length Property and CopyTo Method769
      Section 16.5.  Comparing strings771
      Section 16.6.  Locating Characters and Substrings in strings774
      Section 16.7.  Extracting Substrings from strings776
      Section 16.8.  Concatenating strings777
      Section 16.9.  Miscellaneous string Methods777
      Section 16.10.  Class StringBuilder779
      Section 16.11.  Length and Capacity Properties, EnsureCapacity Method and Indexer of Class StringBuilder781
      Section 16.12.  Append and AppendFormat Methods of Class StringBuilder783
      Section 16.13.  Insert, Remove and Replace Methods of Class StringBuilder785
      Section 16.14.  Char Methods788
      Section 16.15.  Card Shuffling and Dealing Simulation790
      Section 16.16.  Regular Expressions and Class Regex794
      Section 16.17.  Wrap-Up804
      Summary804
      Terminology807
      Self-Review Exercises808
      Answers to Self-Review Exercises808
      Exercises809
    Chapter 17.  Graphics and Multimedia810
      Section 17.1.  Introduction811
      Section 17.2.  Drawing Classes and the Coordinate System811
      Section 17.3.  Graphics Contexts and Graphics Objects813
      Section 17.4.  Color Control814
      Section 17.5.  Font Control821
      Section 17.6.  Drawing Lines, Rectangles and Ovals826
      Section 17.7.  Drawing Arcs829
      Section 17.8.  Drawing Polygons and Polylines832
      Section 17.9.  Advanced Graphics Capabilities835
      Section 17.10.  Introduction to Multimedia840
      Section 17.11.  Loading, Displaying and Scaling Images841
      Section 17.12.  Animating a Series of Images843
      Section 17.13.  Windows Media Player854
      Section 17.14.  Microsoft Agent855
      Section 17.15.  Wrap-Up869
      Summary869
      Terminology874
      Self-Review Exercises876
      Answers to Self-Review Exercises876
      Exercises877
    Chapter 18.  Files and Streams878
      Section 18.1.  Introduction879
      Section 18.2.  Data Hierarchy879
      Section 18.3.  Files and Streams881
      Section 18.4.  Classes File and Directory882
      Section 18.5.  Creating a Sequential-Access Text File891
      Section 18.6.  Reading Data from a Sequential-Access Text File902
      Section 18.7.  Serialization912
      Section 18.8.  Creating a Sequential-Access File Using Object Serialization913
      Section 18.9.  Reading and Deserializing Data from a Sequential-Access Text File919
      Section 18.10.  Wrap-Up923
      Summary923
      Terminology926
      Self-Review Exercises927
      Answers to Self-Review Exercises928
      Exercises928
    Chapter 19.  Extensible Markup Language (XML)930
      Section 19.1.  Introduction931
      Section 19.2.  XML Basics931
      Section 19.3.  Structuring Data934
      Section 19.4.  XML Namespaces941
      Section 19.5.  Document Type Definitions (DTDs)944
      Section 19.6.  W3C XML Schema Documents947
      Section 19.7.  (Optional) Extensible Stylesheet Language and XSL Transformations954
      Section 19.8.  (Optional) Document Object Model (DOM)963
      Section 19.9.  (Optional) Schema Validation with Class XmlReader977
      Section 19.10.  (Optional) XSLT with Class XslCompiledTransform980
      Section 19.11.  Wrap-Up983
      Section 19.12.  Web Resources983
      Summary985
      Terminology988
      Self-Review Exercises990
      Answers to Self-Review Exercises991
      Exercises992
    Chapter 20.  Database, SQL and ADO.NET993
      Section 20.1.  Introduction994
      Section 20.2.  Relational Databases995
      Section 20.3.  Relational Database Overview: Books Database996
      Section 20.4.  SQL1000
      Section 20.5.  ADO.NET Object Model1009
      Section 20.6.  Programming with ADO.NET: Extracting Information from a Database1010
      Section 20.7.  Querying the Books Database1022
      Section 20.8.  Programming with ADO.NET: Address Book Case Study1031
      Section 20.9.  Using a DataSet to Read and Write XML1039
      Section 20.10.  Wrap-Up1042
      Section 20.11.  Web Resources1042
      Summary1043
      Terminology1047
      Self-Review Exercises1048
      Answers to Self-Review Exercises1049
      Exercises1049
    Chapter 21.  ASP.NET 2.0, Web Forms and Web Controls1050
      Section 21.1.  Introduction1051
      Section 21.2.  Simple HTTP Transactions1052
      Section 21.3.  Multitier Application Architecture1054
      Section 21.4.  Creating and Running a Simple Web-Form Example1055
      Section 21.5.  Web Controls1070
      Section 21.6.  Session Tracking1092
      Section 21.7.  Case Study: Connecting to a Database in ASP.NET1110
      Section 21.8.  Case Study: Secure Books Database Application1122
      Section 21.9.  Wrap-Up1151
      Section 21.10.  Web Resources1152
      Summary1153
      Terminology1159
      Self-Review Exercises1161
      Answers to Self-Review Exercises1162
      Exercises1162
    Chapter 22.  Web Services1163
      Section 22.1.  Introduction1164
      Section 22.2.  .NET Web Services Basics1165
      Section 22.3.  Simple Object Access Protocol (SOAP)1172
      Section 22.4.  Publishing and Consuming Web Services1174
      Section 22.5.  Session Tracking in Web Services1190
      Section 22.6.  Using Web Forms and Web Services1204
      Section 22.7.  User-Defined Types in Web Services1212
      Section 22.8.  Wrap-Up1222
      Section 22.9.  Web Resources1222
      Summary1223
      Terminology1228
      Self-Review Exercises1228
      Answers to Self-Review Exercises1229
      Exercises1229
    Chapter 23.  Networking: Streams-Based Sockets and Datagrams1231
      Section 23.1.  Introduction1232
      Section 23.2.  Connection-Oriented vs. Connectionless Communication1233
      Section 23.3.  Protocols for Transporting Data1233
      Section 23.4.  Establishing a Simple TCP Server (Using Stream Sockets)1234
      Section 23.5.  Establishing a Simple TCP Client (Using Stream Sockets)1236
      Section 23.6.  Client/Server Interaction with Stream-Socket Connections1236
      Section 23.7.  Connectionless Client/Server Interaction with Datagrams1247
      Section 23.8.  Client/Server Tic-Tac-Toe Using a Multithreaded Server1252
      Section 23.9.  WebBrowser Control1267
      Section 23.10.  .NET Remoting1270
      Section 23.11.  Wrap-Up1282
      Summary1282
      Terminology1285
      Self-Review Exercises1286
      Answers to Self-Review Exercises1287
      Exercises1287
    Chapter 24.  Searching and Sorting1289
      Section 24.1.  Introduction1290
      Section 24.2.  Searching Algorithms1291
      Section 24.3.  Sorting Algorithms1300
      Section 24.4.  Wrap-Up1315
      Summary1316
      Terminology1317
      Self-Review Exercises1317
      Answers to Self-Review Exercises1318
      Exercises1318
    Chapter 25.  Data Structures1321
      Section 25.1.  Introduction1322
      Section 25.2.  Simple-Type structs, Boxing and Unboxing1322
      Section 25.3.  Self-Referential Classes1323
      Section 25.4.  Linked Lists1325
      Section 25.5.  Stacks1337
      Section 25.6.  Queues1341
      Section 25.7.  Trees1345
      Section 25.8.  Wrap-Up1359
      Summary1360
      Terminology1361
      Self-Review Exercises1362
      Answers to Self-Review Exercises1363
      Exercises1363
    Chapter 26.  Generics1367
      Section 26.1.  Introduction1368
      Section 26.2.  Motivation for Generic Methods1369
      Section 26.3.  Generic Method Implementation1371
      Section 26.4.  Type Constraints1373
      Section 26.5.  Overloading Generic Methods1376
      Section 26.6.  Generic Classes1377
      Section 26.7.  Notes on Generics and Inheritance1386
      Section 26.8.  Wrap-Up1386
      Summary1387
      Terminology1389
      Self-Review Exercises1389
      Answers to Self-Review Exercises1390
      Exercises1390
    Chapter 27.  Collections1392
      Section 27.1.  Introduction1393
      Section 27.2.  Collections Overview1394
      Section 27.3.  Class Array and Enumerators1396
      Section 27.4.  Non-Generic Collections1400
      Section 27.5.  Generic Collections1411
      Section 27.6.  Synchronized Collections1418
      Section 27.7.  Wrap-Up1419
      Summary1419
      Terminology1421
      Self-Review Exercises1422
      Answers to Self-Review Exercises1423
      Exercises1423
    Appendix A.  Operator Precedence Chart1425
    Appendix B.  Number Systems1427
      Section B.1.  Introduction1428
      Section B.2.  Abbreviating Binary Numbers as Octal and Hexadecimal Numbers1431
      Section B.3.  Converting Octal and Hexadecimal Numbers to Binary Numbers1432
      Section B.4.  Converting from Binary, Octal or Hexadecimal to Decimal1432
      Section B.5.  Converting from Decimal to Binary, Octal or Hexadecimal1433
      Section B.6.  Negative Binary Numbers: Two's Complement Notation1435
      Summary1436
      Terminology1437
      Self-Review Exercises1437
      Answers to Self-Review Exercises1438
      Exercises1439
    Appendix C.  Using the Visual Studio 2005 Debugger1440
      Section C.1.  Introduction1441
      Section C.2.  Breakpoints and the Continue Command1441
      Section C.3.  The Locals and Watch Windows1446
      Section C.4.  Controlling Execution Using the Step Into, Step Over, Step Out and Continue Commands1449
      Section C.5.  Other Features1452
      Section C.6.  Wrap-Up1456
      Summary1457
      Terminology1458
      Self-Review Exercises1458
      Answers to Self-Review Exercises1458
    Appendix D.  ASCII Character Set1459
    Appendix E.  Unicode®1460
      Section E.1.  Introduction1461
      Section E.2.  Unicode Transformation Formats1462
      Section E.3.  Characters and Glyphs1463
      Section E.4.  Advantages/Disadvantages of Unicode1463
      Section E.5.  Using Unicode1464
      Section E.6.  Character Ranges1466
      Summary1467
      Terminology1469
      Self-Review Exercises1469
      Answers to Self-Review exercises1470
      Exercises1470
    Appendix F.  Introduction to XHTML: Part 11471
      Section F.1.  Introduction1472
      Section F.2.  Editing XHTML1472
      Section F.3.  First XHTML Example1473
      Section F.4.  W3C XHTML Validation Service1476
      Section F.5.  Headers1477
      Section F.6.  Linking1479
      Section F.7.  Images1481
      Section F.8.  Special Characters and More Line Breaks1485
      Section F.9.  Unordered Lists1487
      Section F.10.  Nested and Ordered Lists1489
      Section F.11.  Web Resources1491
    Appendix G.  Introduction to XHTML: Part 21492
      Section G.1.  Introduction1493
      Section G.2.  Basic XHTML Tables1493
      Section G.3.  Intermediate XHTML Tables and Formatting1496
      Section G.4.  Basic XHTML Forms1498
      Section G.5.  More Complex XHTML Forms1501
      Section G.6.  Internal Linking1508
      Section G.7.  Creating and Using Image Maps1511
      Section G.8.  meta Elements1514
      Section G.9.  frameset Element1516
      Section G.10.  Nested framesets1520
      Section G.11.  Web Resources1522
    Appendix H.  HTML/XHTML Special Characters1523
    Appendix I.  HTML/XHTML Colors1524
    Appendix J.  ATM Case Study Code1527
      Section J.1.  ATM Case Study Implementation1527
      Section J.2.  Class ATM1528
      Section J.3.  Class Screen1534
      Section J.4.  Class Keypad1535
      Section J.5.  Class CashDispenser1535
      Section J.6.  Class DepositSlot1537
      Section J.7.  Class Account1537
      Section J.8.  Class BankDatabase1540
      Section J.9.  Class Transaction1542
      Section J.10.  Class BalanceInquiry1544
      Section J.11.  Class Withdrawal1545
      Section J.12.  Class Deposit1549
      Section J.13.  Class ATMCaseStudy1552
      Section J.14.  Wrap-Up1552
    Appendix K.  UML 2: Additional Diagram Types1554
      Section K.1.  Introduction1554
      Section K.2.  Additional Diagram Types1554
    Appendix L.  Simple Types1556
      Additional Simple Type Information1556
   Index