Table of Contents
Introduction 1
Book I: Getting Started 5
Chapter 1: Getting Started Programming a Computer 7
Chapter 2: Different Methods for Writing Programs 29
Chapter 3: Types of Programming Languages 49
Chapter 4: Programming Tools 83
Chapter 5: Managing Large Projects with Software Engineering 107
Book II: Programming Basics 125
Chapter 1: How Programs Work 127
Chapter 2: Variables, Data Types, and Constants 141
Chapter 3: Manipulating Data 161
Chapter 4: Making Decisions by Branching 181
Chapter 5: Repeating Commands by Looping 199
Chapter 6: Breaking a Large Program into Subprograms 213
Chapter 7: Breaking a Large Program into Objects 231
Chapter 8: Reading and Saving Files 259
Chapter 9: Documenting Your Program 277
Chapter 10: Principles of User Interface Design 289
Book III: Data Structures 309
Chapter 1: Structures and Arrays 311
Chapter 2: Sets and Linked Lists 329
Chapter 3: Collections and Dictionaries 345
Chapter 4: Stacks, Queues, and Deques 361
Chapter 5: Graphs and Trees 375
Book IV: Algorithms 391
Chapter 1: Sorting Algorithms 393
Chapter 2: Searching Algorithms 409
Chapter 3: String Searching 423
Chapter 4: Data Compression Algorithms 435
Chapter 5: Encryption Algorithms 445
Book V: Web Programming 461
Chapter 1: HyperText Markup Language 463
Chapter 2: CSS 477
Chapter 3: JavaScript 485
Chapter 4: PHP 497
Chapter 5: Ruby 509
Book VI: Programming Language Syntax 521
Chapter 1: C and C++ 523
Chapter 2: Java and C# 541
Chapter 3: Perl and Python 559
Chapter 4: Pascal and Delphi 575
Chapter 5: Visual Basic and REALbasic 589
Book VII: Applications 607
Chapter 1: Database Management 609
Chapter 2: Bioinformatics 625
Chapter 3: Computer Security 633
Chapter 4: Artificial Intelligence 643
Chapter 5: The Future of Computer Programming 657
Index 671