Synopses & Reviews
"By tapping into students' enthusiasm about the Web, this update will excite students as well as give them a strong introduction to programming. This new coverage explains the workings of the Internet and teaches students how to harness its information." ---Elliot Koffman
Elliot Koffman's Turbo Pascal is a classic, proven introduction to programming and problem solving. Now, this special update of the fifth edition incorporates the exciting world of the Internet into your Introductory Programming course. In addition to a new chapter on the Internet and the World Wide Web, all of the code previously found on an accompanying disk is now located on the book's website. By having students use the website throughout the course, the book will help students become more comfortable using the Web for classwork and for their own interests. The rest of the text contains the same careful and thorough coverage of the topics found in the first course in programming plus many second semester topics.
Hallmark Features
Conveys the relationship between problem-solving skills and effective software development by using the author's classic five-step problem solving process.
Covers computer graphics in Chapter 3, and provides examples of animation and user interfaces in later chapters to help motivate students.
Introduces abstract data types and units in Chapter 9, and Turbo Pascal objects and object-oriented programming in Chapter 13.
This coverage prepares students to study other languages which use the object-oriented paradigm.
Reinforces key concepts with proven pedagogical features like programming style sections, syntax displays, end-of-section and end-of-chapter exercises, and more.
Synopsis
This is a web-update version of Elliot Koffman's Turbo Pascal book. The major change to this edition is that all of the code previously found on an accompanying disk is now located on the book's website. The author has also included an additional chapter introducing the World Wide Web which shows the benefits of all it has to offer. By having readers use the website throughout the book, Koffman makes readers more comfortable using the WWW for their own interests.
Table of Contents
OVERVIEW OF COMPUTERS AND PROGRAMMING
Electronic Computers Then and Now x Introduction to Computer Hardware x Problem Solving and Programming x Overview of Programming Language x Processing High-Level Language Program x Using the Turbo Pascal Integrated Environment x Interview: David A. Patterson
PROBLEM SOLVING AND PASCAL
The Software Development Method x Applying the Software Development Method x Case Study: Converting Units of Measurement x Overview of Pascal, Reserved Words, & Identifiers x Data Types and Declarations x Executable Statements x General Form of a Pascal Program x Arithmetic Expressions x Case Study: Evaluating Coins x Formatting & Viewing Program Output x Debugging and Programming Errors x Interview: Philippe Kahn
FUNCTIONS, PROCEDURES, AND GRAPHICS
Building Programs from Existing Information x Case Study: Finding the Area and Circumference of a Circle x Case Study: Finding the Most Pizza for Your Money x Functions x Top-Down Design and Structure Charts x Case Study: Drawing Simple Diagrams x Procedures x Procedures as Program Building Blocks x Introduction to Computer Graphics (Optional) x Common Programming Errors x Interview: James Foley
SELECTIONS STRUCTURES: IF AND CASE STATEMENTS
Control Structures x Boolean Expressions x The if Statement x Syntax Diagrams x if Statements with Compound Statements x Decision Steps in Algorithms x Case Study: Payroll Problem x Case Study: Computing Insurance Dividends x Hand-Tracing an Algorithm x Nested if Statements & Multiple-Alternative Decisions x The case Statement x Common Programming Errors x Interview: Ellen Isaacs
REPETITION: WHILE, FOR AND, REPEAT STATEMENTS
The while Statement x Using Loops to Accumulate a Sum x Event-Controlled Loops x Loop Design x The for Statement x The repeat Statement x Nested Loops x Debugging & Testing Programs x Common Programming Errors x Interview: Marie des Jardins
MODULAR PROGRAMMING
Introduction to Parameter Lists x Returning Information from Procedures x Syntax Rules for Parameter Lists x Scope of Identifiers x Functions: Modules that Return a Single Result x Stepwise Design with Functions & Procedures x Case Study: Sum-and -Average Problem x Debugging & Testing a Program System x Recursive Functions (Optional) x Graphics Animation (Optional) x Common Programming Errors
SIMPLE DATA TYPES
Numeric Data Types: Real and Integer x Boolean Data Type x The Character Data Type x Ordinal Functions and Character Functions x Subrange Types x Type Compatibility & Assignment Compatibility x Enumerated Types x Iterative Approximations (Optional) x Case Study: Approximating the Value of e x Using the Debugger Evaluate & Modify Dialog Box x Common Programming Errors x Interview: Judith Schlesinger
TEXT FILES
Text Files, Data Files, and Output Files x Procedures & Functions for Text Files x Using Text Files x Case Study: Preparing a Payroll File x Debugging with Files x Common Programming Errors x Interview: Donna August
SOFTWARE ENGINEERING AND UNITS
Programming in the Large x Introduction to Units x Predefined Units & User Interfaces x Writing New Units x Units & Abstract Data Types x Debugging with Units x Testing Large Programs x Formal Methods of Program Verification x Ethics & Responsibilities x Common Programming Errors x Interview: Robert Sedegwick
ARRAYS
The Array Data Structure x Sequential Access to Array Elements x Arrays as Parameters & Operands x Case Study: Home Budget Problem x Subarray Processing x Searching & Sorting an Array x Analysis of Algorithms: Big-O Notation (optional) x Arrays with Type Char Elements & Subscripts x Case Study: Cryptogram Generator Problem x Debugging Programs with Arrays x Common Programming Errors x Common Programming Errors
MULTI-DIMENSIONAL ARRAYS
Two-dimensional Arrays: Arrays of Arrays x Processing Two-Dimensional Arrays x Case Study: Analysis of Sales Data x Three-Dimensional Arrays x Debugging Multi Dimensional Arrays x Common Programming Errors x Interview: Patrick H. Winston
RECORDS
The Record Data Type x Records as Operands & Parameters x The with Statement x Arrays of Records x Hierarchical Records x Variant Records (Optional) x Debugging Records x Common Programming Errors x Interview: Adele Goldberg
DATA ABSTRACTION AND OBJECT-ORIENTED PROGRAMMING
Data Abstraction and Abstract Data Types x Objects and Object-Oriented Programming x Object-Oriented Design x Inheritance x Common Programming Errors
RECURSION
Recursive Modules x Parameter & Local Variable Stacks x Recursive Mathematical Functions x Recursive Modules with Array Parameters x Case Study: Summing the Values in an Array x Binary Search x Case Study: Recursive Binary Search x Problem Solving with Recursion x Case Study: Towers of Hanoi Problem x Debugging Recursive Algorithms x Common Programming Errors
SETS AND STRINGS
Set Data Type x Set Operators x Variable-Length Strings x String Processing Illustrated x Case Study: Text Editor x Common Programming Errors
EXTERNAL DATA STRUCTURES: FILES
Text File ADT & Binary File ADT x Creating & Using Binary Files x File Merge x Case Study: Merging Two Files x Direct-Access Files (Optional) x Common Programming Errors
POINTERS AND LINKED LISTS
Pointer Types & Pointers x Manipulating the Heap x Linked Lists x Linked List ADT x Common Programming Errors
DYNAMIC DATA STRUCTURES
Stacks x Stack Applications x Case Study: Reversing a Data Line x Case Study: Checking for Balanced Parentheses x Queues x Binary Trees x Binary Search Tree ADT x Efficiency of Binary Search Tree x Common Programming Errors
INTERNET AND THE WORLD WIDE WEB
The Internet x How the Internet Works x Internet Applications: e-mail, Telnet, and FTP x The World Wide Web x Searching the WWW x Writing Your Own Web Page Using HTML x Ethics, Security, and Accuracy