Textbook

# Python for Everyone, 2nd Edition

ISBN: 978-1-119-05655-3
752 pages
For Instructors

## Description

Cay Horstmann's Python for Everyone, 2nd Edition provides a comprehensive and approachable introduction to fundamental programming techniques and design skills, and helps students master basic concepts and become competent coders. The inclusion of advanced chapters makes the text suitable for a 2 or 3-term sequence, or as a comprehensive reference to programming in Python. Major rewrites and an updated visual design make this student-friendly text even more engaging. Filled with realistic programming examples, a great quantity and variety of homework assignments, and lab exercises that build student problem-solving abilities, it is no surprise Python for Everyone is the number one text for early objects in the Python market.
See More

Chapter 1: Introduction

1.1 Computer Programs

1.2 The Anatomy of a Computer

1.3 The Python Programming Language

1.4 Becoming Familiar with Your Programming Environment

1.6 Errors

1.7 Problem Solving: Algorithm Design

Chapter 2: Programming with Numbers and Strings

2.1 Variables

2.2 Arithmetic

2.3 Problem Solving: First Do It By Hand

2.4 Strings

2.5 Input and Output

2.6 Graphics: Simple Drawings

Chapter 3: Decisions

3.1 The if Statement

3.2 Relational Operators

3.3 Nested Branches

3.4 Multiple Alternatives

3.5 Problem Solving: Flowcharts

3.6 Problem Solving: Test Cases

3.7 Boolean Variables and Operators

3.8 Analyzing Strings

3.9 Application: Input Validation

Chapter 4: Loops

4.1 The while Loop

4.2 Problem Solving: Hand-Tracing

4.3 Application: Processing Sentinel Values

4.4 Problem Solving: Storyboards

4.5 Common Loop Algorithms

4.6 The for Loop

4.7 Nested Loops

4.8 Processing Strings

4.9 Application: Random Numbers and Simulations

4.10 Graphics: Digital Image Processing

4.11 Problem Solving: Solve a Simpler Problem First

Chapter 5: Functions

5.1 Functions as Black Boxes

5.2 Implementing and Testing Functions

5.3 Parameter Passing

5.4 Return Values

5.5 Functions Without Return Values

5.6 Problem Solving: Reusable Functions

5.7 Problem Solving: Stepwise Refinement

5.8 Variable Scope

5.9 Graphics: Building an Image Processing Toolkit

5.10 Recursive Functions (Optional)

Chapter 6: Lists

6.1 Basic Properties of Lists

6.2 List Operations

6.3 Common List Algorithms

6.4 Using Lists with Functions

6.6 Problem Solving: Discovering Algorithms by Manipulating Physical Objects

6.7 Tables

Chapter 7: Files and Exceptions

7.1 Reading and Writing Text Files

7.2 Text Input and Output

7.3 Command Line Arguments

7.4 Binary Files and Random Access

7.5 Exception Handling

7.6 Application: Handling Input Errors

Chapter 8: Sets and Dictionaries

8.1 Sets

8.2 Dictionaries

8.3 Complex Structures

Chapter 9: Objects and Classes

9.1 Object-Oriented Programming

9.2 Implementing a Simple Class

9.3 Specifying the Public Interface of a Class

9.4 Designing the Data Representation

9.5 Constructors

9.6 Implementing Methods

9.7 Testing a Class

9.8 Problem Solving: Tracing Objects

9.9 Problem Solving: Patterns for Object Data

9.10 Object References

9.11 Application: Writing a Fraction Class

Chapter 10: Inheritance

10.1 Inheritance Hierarchies

10.2 Implementing Subclasses

10.3 Calling the Superclass Constructor

10.4 Overriding Methods

10.5 Polymorphism

10.6 Application: A Geometric Shape Class Hierarchy

Chapter 11: RECURSION

11.1 Triangle Numbers Revisited

11.2 Problem Solving: Thinking Recursively

11.3 Recursive Helper Functions

11.4 The Efficiency of Recursion

11.5 Permutations

11.6 Backtracking

11.7 Mutual Recursion

Chapter 12: Sorting and Searching

12.1 Selection Sort

12.2 Profiling the Selection Sort Algorithm

12.3 Analyzing the Performance of the Selection Sort Algorithm

12.4 Merge Sort

12.5 Analyzing the Merge Sort Algorithm

12.6 Searching

12.7 Problem Solving: Estimating the Running Time of an Algorithm

APPENDIX A THE BASIC LATIN AND LATIN-1 SUBSETS OF UNICODE

APPENDIX B PYTHON OPERATOR SUMMARY

APPENDIX C PYTHON RESERVED WORD SUMMARY

APPENDIX D THE PYTHON STANDARD LIBRARY

APPENDIX E BINARY NUMBERS AND BIT OPERATIONS

GLOSSARY

INDEX

CREDITS

See More

## New to This Edition

•Greater emphases on problem solving with practical step-by-step illustrations of techniques that can help students devise and evaluate solutions to programming problems.
• A new visual approach that motivates the reader and eases navigation including photographs, step-by-step figures, syntax boxes, and example tables.
• New exercises from science and business engage students with real world applications of Java in different industries.
• An early introduction to object-oriented programming techniques, beginning in Chapter 2, provides extensive practice with objects and classes before students are asked to write their own classes.
• Horstmann’s clear explanations follow the beginner’s thinking process, providing examples and analogies, and anticipating where they may get confused or make mistakes.
• The Testing Track identifies and emphasizes the test-driven approach to programming.

See More

Cay Horstmann is a renowned author of many successful texts, known for his clear writing style, focus on fundamentals, and effective pedagogy.
Guidance and worked examples help students succeed. Step-by-step guidance builds confidence and provides an outline for the task at hand. “Problem Solving” sections stress the importance of design and planning. “How To” guides help students with common programming tasks. Additional Worked Examples are available online.
Practice makes perfect. This book contains a substantial number of self-check questions at the end of each section. “Practice It” pointers suggest exercises to try after each section. And additional practice opportunities, including code completion questions, guided lab exercises, and skill-oriented multiple-choice questions are available online.
The presentation is highly visual. Photographs present visual analogies that explain the nature and behavior of computer concepts. Syntax boxes and example tables present a variety of typical and special cases in a compact format.

See More
Instructors Resources
Wiley Instructor Companion Site
Test Bank
Test your students' comprehension with this digital collection of fill-in-the-blank, multiple-choice, true/false, and free-response questions.
PowerPoint Presentations
Our PowerPoint presentations contain a combination of key concepts allowing you to illustrate important topics with images, figures, and problems from the textbook.
Source Code
Source Code from examples in the text.
Worked Examples
Transition Guide
Programming Solutions
Web Chapters
Lecture Slides
Review Solutions
Style Guide
Test Bank & Student Resources for your Learning Management System
Request a print evaluation copy
See More
See Less
Students Resources
Wiley Student Companion Site
Source Code
Source Code from examples in the text.
Worked Examples
Web Chapters
Author Screencasts
Screencast Code
See More
See Less