PDF Free Download | Python Programming An Introduction to Computer Science by John M. Zelle
Contents of Python Programming eBook
- Chapter 1. Computers and Programs
- The Universal Machine
- Program Power
- What Is Computer Science?
- Hardware Basics
- Programming Languages
- The Magic of Python
- Inside a Python Program
- Chaos and Computers
- Exercises
- Chapter 2. Writing Simple Programs
- The Software Development Process
- Exam pie Program: T em perature Converter
- Elements of Programs
- Names
- Expressions
- Assignment Statements
- SimpIe Assignment
- Assigning Input
- Simultaneous Assignment
- Definite Loops
- Example Program: Future Value
- Exercises
- Chapter 3. Computing with Numbers
- Numeric Data Types
- Type Conversions and Rounding
- Using the Math Library
- Accumulating Results: Factorials
- Limitations of Computer Arithmetic
- Exercises
- Chapter 4. Objects and Graphics
- Overview
- Simple Graphics Programming
- Using Graphical Objects
- Graphing Future Value
- Choosing Coordinates
- Interactive Graphics
- Getting Mouse Clicks
- Handling Textual Input
- Graphics Module Reference
- Graph Win Objects
- Entry Objects
- Displaying I mages
- Generating Colors
- Controlling Display Updates (Advanced)
- Exercises
- Chapter 5. Sequences: Strings, Lists, and Files
- The String Data Type
- Simple String Processing
- Lists as Sequences
- String Representation and Message Encoding
- String Representation
- Programming an Encoder
- String Methods
- Programming a Decoder
- More String Methods
- Lists Have Methods Too
- From Encoding to Encryption
- Input/Output as String Manipulation
- Exam pie Application: Date Conversion
- String Formatting
- Better Change Counter
- File Processing
- Multi-line Strings
- File Processing
- Example Program: Batch Usernames
- File Dialogs (Optional)
- Exercises
- Chapter 6. Defining Functions
- The Function of Functions
- Functions, Informally
- Future Value with a Function
- Functions and Para meters: The Exciting Deta i Is
- Functions That Return Values
- Functions that Modify Para meters
- Functions and Program Structure
- Exercises
- Chapter 7. Decision Structures
- Sim pie Decisions
- Example: Temperature Warnings
- Forming Simple Conditions
- Example: Condition a I Program Execution
- Two-Way Decisions
- Multi-Way Decisions
- Exception Handling
- Study in Design: Max of Three
- Strategy : Compare Each to All
- Strategy : Decision Tree
- Strategy : Sequential Processing
- Strategy : Use Python
- Some Lessons
- Exercises
- Chapter 8. Loop Structures and Booleans
- For Loops: A Quick Review
- Indefinite Loops
- Common Loop Patterns
- Interactive Loops
- Sentinel Loops
- File Loops
- Nested Loops
- Computing with Boo leans
- Boolean Operators
- Boolean Algebra
- Other Common Structures
- Post-test Loop
- Loop and a Half
- Boolean Expressions as Decisions
- Example: A Simple Event Loop
- Exercises
- Chapter 9. Simulation and Design
- A Simulation Problem
- Ana lysis and Specification
- Pseudo-random Numbers
- Top-Down Design
- Top-Level Design
- Separation of Concerns
- Second-Level Design
- Designing simNGames
- Third-Level Design
- Finishing Up
- Summary of the Design Process
- Bottom-Up Implementation
- Unit Testing
- Simulation Results
- Other Design Techniques
- Prototyping and Spiral Development
- The Art of Design
- Exercises
- Chapter 10. Defining Classes
- Quick Review of Objects
- Example Program: Cannonball
- Program Specification
- Designing the Program
- Mod ularizing the Program
- Defining New Classes
- Example: Multi-sided Dice
- Example: The Projectile Class
- Data Processing with Class
- Objects and Encapsulation
- Encapsulating Useful Abstractions
- Putting Classes in Modules
- Module Documentation
- Working with Multiple Modules
- Widgets
- Example Program: Dice Roller
- Building Buttons
- Building Dice
- The Main Program
- Drawing the Animation Window
- Creating a Shot Tracker
- Creating an Input Dialog
- The Main Event Loop
- Exercises
- Chapter 11. Data Collections
- Exam pie Problem: S i m pie Statistics
- Applying Lists
- Lists and Arrays
- List perations
- Statistics with Lists
- Lists of Records
- Designing with Lists and Classes
- Case Study: Python Ca leu Ia tor
- A Calculator as an Object
- Constructing the Interface
- Processing Buttons
- Case Study: Better Can non ba II Animation
- Creating a Launcher
- Tracking Multiple Shots
- Non-sequentiaI Collections
- Dictionary Basics
- Dictionary perations
- Example Program: Word Frequency
- Exercises
- Chapter 12. Object-Oriented Design
- The Process of OOD
- Case Study: Racq uetba II Simulation
- Candidate Objects and Methods
- Implementing SimStats
- Implementing RBaiiGame
- Implementing Player
- The Complete Program
- Case Study: Dice Poker
- Program Specification
- Identifying Candidate Objects
- Implementing the Model
- A Text-Based U I
- Developing a G U I
- Concepts
- Encapsulation
- Polymorph ism
- Inheritance
- Exercises
- Chapter 13. Algorithm Design and Recursion
- Searching
- Strategy : Linear Search
- Strategy : Binary Search
- Com paring Algorithms
- Recursive Problem Solving
- Recursive Definitions
- Recursive Functions
- Example: String Reversal
- Example: Anagrams
- Example: Fast Exponentiation
- Example: Binary Search
- Recursion vs Iteration
- Sorting Algorithms
- Native Sorting: Selection Sort
- Divide and Conquer: Merge Sort
- Hard Problems
- Tower of Hanoi
- The Halting Problem
- Conclusion
- Exercises