did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9781887902991

Python Programming : An Introduction to Computer Science

by
  • ISBN13:

    9781887902991

  • ISBN10:

    1887902996

  • Format: Paperback
  • Copyright: 2003-12-01
  • Publisher: Franklin Beedle & Assoc
  • View Upgraded Edition

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $60.00 Save up to $15.00
  • Buy Used
    $45.00
    Add to Cart Free Shipping Icon Free Shipping

    USUALLY SHIPS IN 2-4 BUSINESS DAYS

Supplemental Materials

What is included with this book?

Summary

This book is suitable for use in a university-level first course in computing (CS1), as well as the increasingly popular course known as CS0. It is difficult for many students to master basic concepts in computer science and programming. A large portion of the confusion can be blamed on the complexity of the tools and materials that are traditionally used to teach CS1 and CS2. This textbook was written with a single overarching goal: to present the core concepts of computer science as simply as possible without being simplistic.

Table of Contents

Foreword ix
Preface x
Computers and Programs
1(24)
The Universal Machine
1(2)
Program Power
3(1)
What is Computer Science?
3(2)
Hardware Basics
5(1)
Programming Languages
6(3)
The Magic of Python
9(5)
Inside a Python Program
14(3)
Chaos and Computers
17(1)
Chapter Summary
18(2)
Exercises
20(5)
Writing Simple Programs
25(26)
The Software Development Process
25(1)
Example Program: Temperature Converter
26(3)
Elements of Programs
29(2)
Names
29(1)
Expressions
30(1)
Output Statements
31(2)
Assignment Statements
33(6)
Simple Assignment
33(2)
Assigning Input
35(1)
Simultaneous Assignment
36(3)
Definite Loops
39(3)
Example Program: Future Value
42(3)
Chapter Summary
45(1)
Exercises
46(5)
Computing with Numbers
51(26)
Numeric Data Types
51(4)
Using the Math Library
55(3)
Accumulating Results: Factorial
58(3)
The Limits of Int
61(3)
Handling Large Numbers: Long Ints
64(2)
Type Conversions
66(2)
Chapter Summary
68(1)
Exercises
69(8)
Computing with Strings
77(46)
The String Data Type
77(5)
Simple String Processing
82(3)
Strings, Lists, and Sequences
85(2)
Strings and Secret Codes
87(10)
String Representation
87(2)
Programming an Encoder
89(1)
Programming a Decoder
90(4)
Other String Operations
94(1)
From Encoding to Encryption
95(2)
Input/Output as String Manipulation
97(9)
Example Application: Date Conversion
97(5)
String Formatting
102(2)
Better Change Counter
104(2)
File Processing
106(7)
Multi-Line Strings
106(1)
File Processing
107(4)
Example Program: Batch Usernames
111(1)
Coming Attraction: Objects
112(1)
Chapter Summary
113(2)
Exercises
115(8)
Objects and Graphics
123(42)
Overview
123(1)
The Object of Objects
124(1)
Simple Graphics Programming
125(4)
Using Graphical Objects
129(6)
Graphing Future Value
135(8)
Choosing Coordinates
143(3)
Interactive Graphics
146(5)
Getting Mouse Clicks
146(2)
Handling Textual Input
148(3)
Graphics Module Reference
151(5)
GraphWin Objects
151(1)
Graphics Objects
152(3)
Entry Objects
155(1)
Displaying Images
155(1)
Generating Colors
156(1)
Chapter Summary
156(1)
Exercises
157(8)
Defining Functions
165(34)
The Function of Functions
165(2)
Functions, Informally
167(4)
Future Value with a Function
171(2)
Functions and Parameters: The Details
173(4)
Getting Results from a Function
177(10)
Functions That Return Values
177(4)
Functions that Modify Parameters
181(6)
Functions and Program Structure
187(4)
Chapter Summary
191(1)
Exercises
191(8)
Decision Structures
199(34)
Simple Decisions
199(7)
Example: Temperature Warnings
200(2)
Forming Simple Conditions
202(2)
Example: Conditional Program Execution
204(2)
Two-Way Decisions
206(4)
Multi-Way Decisions
210(3)
Exception Handling
213(4)
Study in Design: Max of Three
217(8)
Strategy 1: Compare Each to All
218(2)
Strategy 2: Decision Tree
220(1)
Strategy 3: Sequential Processing
221(2)
Strategy 4: Use Python
223(1)
Some Lessons
224(1)
Chapter Summary
225(1)
Exercises
225(8)
Loop Structures and Booleans
233(32)
For Loops: A Quick Review
233(2)
Indefinite Loops
235(2)
Common Loop Patterns
237(9)
Interactive Loops
237(2)
Sentinel Loops
239(3)
File Loops
242(2)
Nested Loops
244(2)
Computing with Booleans
246(5)
Boolean Operators
246(4)
Boolean Algebra
250(1)
Other Common Structures
251(7)
Post-Test Loop
251(3)
Loop and a Half
254(1)
Boolean Expressions as Decisions
254(4)
Chapter Summary
258(1)
Exercises
259(6)
Simulation and Design
265(30)
Simulating Racquetball
265(3)
A Simulation Problem
266(1)
Analysis and Specification
266(2)
PseudoRandom Numbers
268(2)
Top-Down Design
270(13)
Top-Level Design
271(2)
Separation of Concerns
273(1)
Second-Level Design
273(2)
Designing simNGames
275(2)
Third-Level Design
277(3)
Finishing Up
280(2)
Summary of the Design Process
282(1)
Bottom-Up Implementation
283(3)
Unit Testing
283(2)
Simulation Results
285(1)
Other Design Techniques
286(2)
Prototyping and Spiral Development
286(2)
The Art of Design
288(1)
Chapter Summary
288(1)
Exercises
289(6)
Defining Classes
295(42)
Quick Review of Objects
295(1)
Example Program: Cannonball
296(7)
Program Specification
296(1)
Designing the Program
297(4)
Modularizing the Program
301(2)
Defining New Classes
303(6)
Example: Multi-Sided Dice
303(4)
Example: The Projectile Class
307(2)
Data Processing with Class
309(4)
Objects and Encapsulation
313(5)
Encapsulating Useful Abstractions
313(2)
Putting Classes in Modules
315(1)
Module Documentation
315(2)
Working with Multiple Modules
317(1)
Widgets
318(10)
Example Program: Dice Roller
319(1)
Building Buttons
319(4)
Building Dice
323(4)
The Main Program
327(1)
Chapter Summary
328(1)
Exercises
329(8)
Data Collections
337(48)
Example Problem: Simple Statistics
337(2)
Applying Lists
339(11)
Lists and Arrays
340(1)
List Operations
341(4)
Statistics with Lists
345(5)
Lists of Objects
350(3)
Designing with Lists and Classes
353(6)
Case Study: Python Calculator
359(8)
A Calculator as an Object
359(1)
Constructing the Interface
360(3)
Processing Buttons
363(4)
Non-Sequential Collections
367(8)
Dictionary Basics
367(1)
Dictionary Operations
368(2)
Example Program: Word Frequency
370(5)
Chapter Summary
375(1)
Exercises
376(9)
Object-Oriented Design
385(40)
The Process of OOD
385(3)
Case Study: Racquetball Simulation
388(11)
Candidate Objects and Methods
388(2)
Implementing SimStats
390(2)
Implementing RBallGame
392(3)
Implementing Player
395(1)
The Complete Program
396(3)
Case Study: Dice Poker
399(18)
Program Specification
399(1)
Identifying Candidate Objects
400(2)
Implementing the Model
402(4)
A Text-Based UI
406(3)
Developing a GUI
409(8)
OO Concepts
417(4)
Encapsulation
418(1)
Polymorphism
418(1)
Inheritance
419(2)
Chapter Summary
421(1)
Exercises
422(3)
Algorithm Design and Recursion
425(44)
Searching
426(5)
A Simple Searching Problem
426(1)
Strategy 1: Linear Search
427(1)
Strategy 2: Binary Search
428(1)
Comparing Algorithms
429(2)
Recursive Problem-Solving
431(12)
Recursive Definitions
432(2)
Recursive Functions
434(1)
Example: String Reversal
435(2)
Example: Anagrams
437(1)
Example: Fast Exponentiation
438(1)
Example: Binary Search
439(1)
Recursion vs. Iteration
440(3)
Sorting Algorithms
443(7)
Naive Sorting: Selection Sort
443(2)
Divide and Conquer: Merge Sort
445(2)
Comparing Sorts
447(3)
Hard Problems
450(9)
Towers of Hanoi
450(5)
The Halting Problem
455(4)
Conclusion
459(1)
Chapter Summary
459(1)
Exercises
460(9)
Appendix A Python Quick Reference 469(10)
Appendix B Using Python and IDLE 479(12)
Appendix C Glossary 491(12)
Index 503

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program