, ,

Building Python Programs

Paperback Engels 2018 9780135205983
Verwachte levertijd ongeveer 9 werkdagen

Samenvatting

For courses in Java programming.

 

A layered, back-to-basics approach to Python programming

The authors of the long successful title, Building Java Programs, bring their proven and class-tested, back-to-basics strategy to teaching Python programming for the first time in Building Python Programs. Their signature layered approach introduces programming fundamentals first, with new syntax and concepts added over multiple chapters. Object-oriented programming is discussed only after students have developed a basic understanding of Python programming. This newly published textfocuses on problem solving with an emphasis on algorithmic thinking and is appropriate for the two-semester sequence in introductory computer science.

 

Also available with MyLab Programming

MyLab™ is the teaching and learning platform that empowers you to reach every student. By combining trusted author content with digital tools and a flexible platform, MyLab personalizes the learning experience and improves results for each student.With MyLab Programming, students work through hundreds of short, auto-graded coding exercises and receive immediate and helpful feedback based on their work. Learn more about MyLab Programming.

Specificaties

ISBN13:9780135205983
Taal:Engels
Bindwijze:Paperback

Lezersrecensies

Wees de eerste die een lezersrecensie schrijft!

Inhoudsopgave

<h3>Chapter 1 Introduction to Python Programming</h3> <ul> <li><strong>1.1 Basic Computing Concepts</strong> <ul> <li>Why Programming?</li> <li>Hardware and Software</li> <li>The Digital Realm</li> <li>The Process of Programming</li> <li>Why Python?</li> <li>The Python Programming Environment</li> </ul></li> <li><strong>1.2 And Now: Python</strong> <ul> <li>Printing Output</li> <li>String Literals (Strings)</li> <li>Escape Sequences</li> <li>Printing a Complex Figure</li> <li>Comments, Whitespace, and Readability</li> </ul></li> <li><strong>1.3 Program Errors</strong> <ul> <li>Syntax Errors</li> <li>Logic Errors (Bugs)</li> </ul></li> <li><strong>1.4 Procedural Decomposition</strong> <ul> <li>Functions</li> <li>Flow of Control</li> <li>Identifiers and Keywords</li> <li>Functions That Call Other Functions</li> <li>An Example Runtime Error</li> </ul></li> <li><strong>1.5 Case Study: Drawing Figures</strong> <ul> <li>Structured Version</li> <li>Final Version without Redundancy</li> <li>Analysis of Flow of Execution</li> </ul></li> </ul> <h3>Chapter 2 Data and Definite Loops</h3> <ul> <li><strong>2.1 Basic Data Concepts</strong> <ul> <li>Types</li> <li>Expressions</li> <li>Literals</li> <li>Arithmetic Operators</li> <li>Precedence</li> <li>Mixing and Converting Types</li> </ul></li> <li><strong>2.2 Variables</strong> <ul> <li>A Program with Variables</li> <li>Increment/Decrement Operators</li> <li>Printing Multiple Values</li> </ul></li> <li><strong>2.3 The for Loop</strong> <ul> <li>Using a Loop Variable</li> <li>Details about Ranges</li> <li>String Multiplication and Printing Partial Lines</li> <li>Nested for Loops</li> </ul></li> <li><strong>2.4 Managing Complexity</strong> <ul> <li>Scope</li> <li>Pseudocode</li> <li>Constants</li> </ul></li> <li><strong>2.5 Case Study: Hourglass Figure</strong> <ul> <li>Problem Decomposition and Pseudocode</li> <li>Initial Structured Version</li> <li>Adding a Constant</li> </ul></li> </ul> <h3>Chapter 3 Parameters and Graphics</h3> <ul> <li><strong>3.1 Parameters</strong> <ul> <li>The Mechanics of Parameters</li> <li>Limitations of Parameters</li> <li>Multiple Parameters</li> <li>Parameters versus Constants</li> <li>Optional Parameters</li> </ul></li> <li><strong>3.2 Returning Values</strong> <ul> <li>The math Module</li> <li>The random Module</li> <li>Defining Functions That Return Values</li> <li>Returning Multiple Values</li> </ul></li> <li><strong>3.3 Interactive Programs</strong> <ul> <li>Sample Interactive Program</li> </ul></li> <li><strong>3.4 Graphics</strong> <ul> <li>Introduction to DrawingPanel</li> <li>Drawing Lines and Shapes</li> <li>Colors</li> <li>Drawing with Loops</li> <li>Text and Fonts</li> <li>Images</li> <li>Procedural Decomposition with Graphics</li> </ul></li> <li><strong>3.5 Case Study: Projectile Trajectory</strong> <ul> <li>Unstructured Solution</li> <li>Structured Solution</li> <li>Graphical Version</li> </ul></li> </ul> <h3>Chapter 4 Conditional Execution</h3> <ul> <li><strong>4.1 if/else Statements</strong> <ul> <li>Relational Operators</li> <li>Nested if/else Statements</li> <li>Factoring if/else Statements</li> <li>Testing Multiple Conditions</li> </ul></li> <li><strong>4.2 Cumulative Algorithms</strong> <ul> <li>Cumulative Sum</li> <li>Min/Max Loops</li> <li>Cumulative Sum with if</li> <li>Roundoff Errors</li> </ul></li> <li><strong>4.3 Functions with Conditional Execution</strong> <ul> <li>Preconditions and Postconditions</li> <li>Raising Exceptions</li> <li>Revisiting Return Values</li> <li>Reasoning about Paths</li> </ul></li> <li><strong>4.4 Strings</strong> <ul> <li>String Methods</li> <li>Accessing Characters by Index</li> <li>Converting between Letters and Numbers</li> <li>Cumulative Text Algorithms</li> </ul></li> <li><strong>4.5 Case Study: Basal Metabolic Rate</strong> <ul> <li>One-Person Unstructured Solution</li> <li>Two-Person Unstructured Solution</li> <li>Two-Person Structured Solution</li> <li>Procedural Design Heuristics</li> </ul></li> </ul> <h3>Chapter 5 Program Logic and Indefinite Loops</h3> <ul> <li><strong>5.1 The while Loop</strong> <ul> <li>A Loop to Find the Smallest Divisor</li> <li>Loop Priming</li> </ul></li> <li><strong>5.2 Fencepost Algorithms</strong> <ul> <li>Fencepost with if</li> <li>Sentinel Loops</li> <li>Sentinel with Min/Max</li> </ul></li> <li><strong>5.3 Boolean Logic</strong> <ul> <li>Logical Operators</li> <li>Boolean Variables and Flags</li> <li>Predicate Functions</li> <li>Boolean Zen</li> <li>Short-Circuited Evaluation</li> </ul></li> <li><strong>5.4 Robust Programs</strong> <ul> <li>The try/except Statement</li> <li>Handling User Errors</li> </ul></li> <li><strong>5.5 Assertions and Program Logic</strong> <ul> <li>Reasoning about Assertions</li> <li>A Detailed Assertions Example</li> </ul></li> <li><strong>5.6 Case Study: Number Guessing Game</strong> <ul> <li>Initial Version without Hinting</li> <li>Randomized Version with Hinting</li> <li>Final Robust Version</li> </ul></li> </ul> <h3>Chapter 6 File Processing</h3> <ul> <li><strong>6.1 File-Reading Basics</strong> <ul> <li>Data and Files</li> <li>Reading a File in Python</li> <li>Line-Based File Processing</li> <li>Structure of Files and Consuming Input</li> <li>Prompting for a File</li> </ul></li> <li><strong>6.2 Token-Based Processing</strong> <ul> <li>Numeric Input</li> <li>Handling Invalid Input</li> <li>Mixing Lines and Tokens</li> <li>Handling Varying Numbers of Tokens</li> <li>Complex Input Files</li> </ul></li> <li><strong>6.3 Advanced File Processing</strong> <ul> <li>Multi-Line Input Records</li> <li>File Output</li> <li>Reading Data from the Web</li> </ul></li> <li><strong>6.4 Case Study: ZIP Code Lookup</strong></li> </ul> <h3>Chapter 7 Lists</h3> <ul> <li><strong>7.1 List Basics</strong> <ul> <li>Creating Lists</li> <li>Accessing List Elements</li> <li>Traversing a List</li> <li>A Complete List Program</li> <li>Random Access</li> <li>List Methods</li> </ul></li> <li><strong>7.2 List-Traversal Algorithms</strong> <ul> <li>Lists as Parameters</li> <li>Searching a List</li> <li>Replacing and Removing Values</li> <li>Reversing a List</li> <li>Shifting Values in a List</li> <li>Nested Loop Algorithms</li> <li>List Comprehensions</li> </ul></li> <li><strong>7.3 Reference Semantics</strong> <ul> <li>Values and References</li> <li>Modifying a List Parameter</li> <li>The Value None</li> <li>Mutability</li> <li>Tuples</li> </ul></li> <li><strong>7.4 Multidimensional Lists</strong> <ul> <li>Rectangular Lists</li> <li>Jagged Lists</li> <li>Lists of Pixels</li> </ul></li> <li><strong>7.5 Case Study: Benford’s Law</strong> <ul> <li>Tallying Values</li> <li>Completing the Program</li> </ul></li> </ul> <h3>Chapter 8 Dictionaries and Sets</h3> <ul> <li><strong>8.1 Dictionary Basics</strong> <ul> <li>Creating a Dictionary</li> <li>Dictionary Operations</li> <li>Looping Over a Dictionary</li> <li>Dictionary Ordering</li> </ul></li> <li><strong>8.2 Advanced Dictionary Usage</strong> <ul> <li>Dictionary for Tallying</li> <li>Nested Collections</li> <li>Dictionary Comprehensions</li> </ul></li> <li><strong>8.3 Sets</strong> <ul> <li>Set Basics</li> <li>Set Operations</li> <li>Set Efficiency</li> <li>Set Example: Lottery</li> </ul></li> </ul> <h3>Chapter 9 Recursion</h3> <ul> <li><strong>9.1 Thinking Recursively</strong> <ul> <li>A Nonprogramming Example</li> <li>Iteration to Recursion</li> <li>Structure of Recursive Solutions</li> <li>Reversing a File</li> <li>The Recursive Call Stack</li> </ul></li> <li><strong>9.2 Recursive Functions and Data</strong> <ul> <li>Integer Exponentiation</li> <li>Greatest Common Divisor</li> <li>Directory Crawler</li> </ul></li> <li><strong>9.3 Recursive Graphics</strong> <ul> <li>Cantor Set</li> <li>Sierpinski Triangle</li> </ul></li> <li><strong>9.4 Recursive Backtracking</strong> <ul> <li>Traveling North/East</li> <li>Eight Queens Puzzle</li> <li>Stopping after One Solution</li> </ul></li> <li><strong>9.5 Case Study: Prefix Evaluator</strong> <ul> <li>Infix, Prefix, and Postfix Notation</li> <li>Evaluating Prefix Expressions</li> <li>Complete Program</li> </ul></li> </ul> <h3>Chapter 10 Searching and Sorting</h3> <ul> <li><strong>10.1 Searching and Sorting Libraries</strong> <ul> <li>Binary Search</li> </ul></li> </ul>

Managementboek Top 100

Rubrieken

    Personen

      Trefwoorden

        Building Python Programs