Introduction to Computing and Programming in Python, Global Edition

Höfundur Mark J. Guzdial; Barbara Ericson

Útgefandi Pearson International Content

Snið Page Fidelity

Print ISBN 9781292109862

Útgáfa 4

Höfundarréttur 2016

4.990 kr.

Description

Efnisyfirlit

  • Title Page
  • Copyright Page
  • ACKNOWLEDGMENTS
  • Contents
  • Preface for the Fourth Edition
  • Preface to the First Edition
  • About the Authors
  • 1 INTRODUCTION
  • 1 Introduction to Computer Science and Media Computation
  • 1.1 What Is Computer Science About?
  • 1.2 Programming Languages
  • 1.3 What Computers Understand
  • 1.4 Media Computation: Why Digitize Media?
  • 1.5 Computer Science for Everyone
  • 1.5.1 It’s About Communication
  • 1.5.2 It’s About Process
  • 1.5.3 You Will Probably Need It
  • 2 Introduction to Programming
  • 2.1 Programming Is About Naming
  • 2.1.1 Files and Their Names
  • 2.2 Programming in Python
  • 2.3 Programming in JES
  • 2.4 Media Computation in JES
  • 2.4.1 Showing a Picture
  • 2.4.2 Playing a Sound
  • 2.4.3 Naming Values
  • 2.5 Making a Program
  • 2.5.1 Functions: Real Math-Like Functions That Take Input
  • 3 Creating and Modifying Text
  • 3.1 Strings: Making Human Text in a Computer
  • 3.1.1 Making Strings from Strings: Telling Stories
  • 3.2 Taking Strings Apart with For
  • 3.2.1 Testing the Pieces
  • 3.2.2 Taking String Apart, and Putting Strings Together
  • 3.2.3 Taking Strings Apart with Indices
  • 3.2.4 Mirroring, Reversing, and Separating Strings with Index
  • 3.2.5 Encoding and Decoding Strings Using a Keyword Cipher
  • 3.3 Taking Strings Apart by Words
  • 3.4 What’s Inside a String
  • 3.5 What a Computer Can Do
  • 4 Modifying Pictures Using Loops
  • 4.1 How Pictures Are Encoded
  • 4.2 Manipulating Pictures
  • 4.2.1 Exploring Pictures
  • 4.3 Changing Color Values
  • 4.3.1 Using Loops in Pictures
  • 4.3.2 Increasing/Decreasing Red (Green, Blue)
  • 4.3.3 Testing the Program: Did That Really Work?
  • 4.3.4 Changing One Color at a Time
  • 4.4 Creating a Sunset
  • 4.4.1 Making Sense of Functions
  • 4.5 Lightening and Darkening
  • 4.6 Creating a Negative
  • 4.7 Converting to Grayscale
  • 4.8 Specifying Pixels by Index
  • 5 Picture Techniques with Selection
  • 5.1 Replacing Colors: Red-Eye, Sepia Tones, and Posterizing
  • 5.1.1 Reducing Red-Eye
  • 5.1.2 Sepia-Toned and Posterized Pictures: Using Conditionals to Choose the Color
  • 5.2 Comparing Pixels: Edge Detection
  • 5.3 Background Subtraction
  • 5.4 Chromakey
  • 5.5 Coloring in ranges
  • 5.5.1 Adding a Border
  • 5.5.2 Lightening the Right Half of a Picture
  • 5.6 Selecting without Retesting
  • 6 Modifying Pixels by Position
  • 6.1 Processing Pixels Faster
  • 6.1.1 Looping across the Pixels with Range
  • 6.1.2 Writing Faster Pixel Loops
  • 6.2 Mirroring a Picture
  • 6.3 Copying and Transforming Pictures
  • 6.3.1 Copying
  • 6.3.2 Copying Smaller and Modifying
  • 6.3.3 Copying and Referencing
  • 6.3.4 Creating a Collage
  • 6.3.5 General Copying
  • 6.3.6 Rotation
  • 6.3.7 Scaling
  • 6.4 Combining Pixels: Blurring
  • 6.5 Blending Pictures
  • 6.6 Drawing on Images
  • 6.6.1 Drawing with Drawing Commands
  • 6.6.2 Vector and Bitmap Representations
  • 6.7 Programs as Specifying Drawing Process
  • 6.7.1 Why Do We Write Programs?
  • 2 SOUND
  • 7 Modifying Sounds Using Loops
  • 7.1 How Sound Is Encoded
  • 7.1.1 The Physics of Sound
  • 7.1.2 Investigating Different Sounds
  • 7.1.3 Encoding the Sound
  • 7.1.4 Binary Numbers and Two’s Complement
  • 7.1.5 Storing Digitized Sounds
  • 7.2 Manipulating Sounds
  • 7.2.1 Open Sounds and Manipulating Samples
  • 7.2.2 Using the JES Media Tools
  • 7.2.3 Looping
  • 7.3 Changing the Volume of Sounds
  • 7.3.1 Increasing Volume
  • 7.3.2 Did That Really Work?
  • 7.3.3 Decreasing Volume
  • 7.3.4 Using Array Index Notation
  • 7.3.5 Making Sense of Functions in Sounds
  • 7.4 Normalizing Sounds
  • 7.4.1 Generating Clipping
  • 8 Modifying Samples in a Range
  • 8.1 Manipulating Different Sections of the Sound Differently
  • 8.1.1 Revisiting Index Array Notation
  • 8.2 Splicing Sounds
  • 8.3 General Clip and Copy
  • 8.4 Reversing Sounds
  • 8.5 Mirroring
  • 8.6 On Functions and Scope
  • 9 Making Sounds by Combining Pieces
  • 9.1 Composing Sounds Through Addition
  • 9.2 Blending Sounds
  • 9.3 Creating an Echo
  • 9.3.1 Creating Multiple Echoes
  • 9.3.2 Creating Chords
  • 9.4 How Sampling Keyboards Work
  • 9.4.1 Sampling as an Algorithm
  • 9.5 Additive Synthesis
  • 9.5.1 Making Sine Waves
  • 9.5.2 Adding Sine Waves Together
  • 9.5.3 Checking Our Result
  • 9.5.4 Square Waves
  • 9.5.5 Triangular Waves
  • 9.6 Modern Music Synthesis
  • 9.6.1 MP3
  • 9.6.2 MIDI
  • 10 Building Bigger Programs
  • 10.1 Designing Programs Top-Down
  • 10.1.1 A Top-Down Design Example
  • 10.1.2 Designing the Top-Level Function
  • 10.1.3 Writing the Subfunctions
  • 10.2 Designing Programs Bottom-Up
  • 10.2.1 An Example Bottom-Up Process
  • 10.3 Testing Your Program
  • 10.3.1 Testing the Edge Conditions
  • 10.4 Tips on Debugging
  • 10.4.1 Finding Which Statement to Worry About
  • 10.4.2 Seeing the Variables
  • 10.4.3 Debugging the Adventure Game
  • 10.5 Algorithms and Design
  • 10.6 Connecting to Data Outside a Function
  • 10.7 Running Programs Outside of JES
  • 3 TEXT, FILES, NETWORKS, DATABASES, AND UNIMEDIA
  • 11 Manipulating Text with Methods and Files
  • 11.1 Text as Unimedia
  • 11.2 Manipulating Parts of Strings
  • 11.2.1 String Methods: Introducing Objects and Dot Notation
  • 11.2.2 Lists: Powerful, Structured Text
  • 11.2.3 Strings Have No Font
  • 11.3 Files: Places to Put Your Strings and Other Stuff
  • 11.3.1 Opening and Manipulating Files
  • 11.3.2 Generating Form Letters
  • 11.3.3 Reading and Manipulating Data from the Internet
  • 11.3.4 Scraping Information from a Web Page
  • 11.3.5 Reading CSV Data
  • 11.3.6 Writing Out Programs
  • 11.4 The Python Standard Library
  • 11.4.1 More on Import and Your Own Modules
  • 11.4.2 Adding Unpredictably to Your Program with Random
  • 11.4.3 Reading CSV Files with a Library
  • 11.4.4 A Sampling of Python Standard Libraries
  • 12 Advanced Text Techniques: Web and Information
  • 12.1 Networks: Getting Our Text from the Web
  • 12.1.1 Automating Access to CSV Data
  • 12.1.2 Accessing FTP
  • 12.2 Using Text to Shift Between Media
  • 12.3 Moving Information Between Media
  • 12.4 Using Lists as Structured Text for Media Representations
  • 12.5 Hiding Information ina Picture
  • 12.5.1 Hiding a Sound Inside a Picture
  • 13 Making Text for the Web
  • 13.1 HTML: The Notation of the Web
  • 13.2 Writing Programs to Generate HTML
  • 13.2.1 Making Home Pages
  • 13.3 Databases: A Place to Store Our Text
  • 13.3.1 Relational Databases
  • 13.3.2 An Example Relational Database Using Hash Tables
  • 13.3.3 Working with SQL
  • 13.3.4 Using a Database to Build Web Pages
  • 4 MOVIES
  • 14 Creating and Modifying Movies
  • 14.1 Generating Animations
  • 14.2 Working with Video Source
  • 14.2.1 Video Manipulating Examples
  • 14.3 Building a Video Effect Bottom-Up
  • 15 Speed
  • 15.1 Focusing on Computer Science
  • 15.2 What Makes Programs Fast?
  • 15.2.1 What Computers Really Understand
  • 15.2.2 Compilers and Interpreters
  • 15.2.3 What Limits Computer Speed?
  • 15.2.4 Does It Really Make a Difference?
  • 15.2.5 Making Searching Faster
  • 15.2.6 Algorithms That Never Finish or Can’t Be Written
  • 15.2.7 Why Is Photoshop Faster than JES?
  • 15.3 What Makes a Computer Fast?
  • 15.3.1 Clock Rates and Actual Computation
  • 15.3.2 Storage: What Makes a Computer Slow?
  • 15.3.3 Display
  • 16 Functional Programming
  • 16.1 Using Functions to Make Programming Easier
  • 16.2 Functional Programming with Map and Reduce
  • 16.3 Functional Programming for Media
  • 16.3.1 Media Manipulation without Changing State
  • 16.4 Recursion: A Powerful Idea
  • 16.4.1 Recursive Directory Traversals
  • 16.4.2 Recursive Media Functions
  • 17 Object-Oriented Programming
  • 17.1 History of Objects
  • 17.2 Working with Turtles
  • 17.2.1 Classes and Objects
  • 17.2.2 Sending Messages to Objects
  • 17.2.3 Objects Control Their State
  • 17.3 Teaching Turtles New Tricks
  • 17.3.1 Overriding an Existing Turtle Method
  • 17.3.2 Working with Multiple Turtles at Once
  • 17.3.3 Turtles with Pictures
  • 17.3.4 Dancing Turtles
  • 17.3.5 Recursion and Turtles
  • 17.4 An Object-Oriented Slide Show
  • 17.4.1 Making the Slide Class More Object-Oriented
  • 17.5 Object-Oriented Media
  • 17.6 Joe the Box
  • 17.7 Why Objects?
  • APPENDIX
  • A Quick Reference to Python
  • A.1 Variables
  • A.2 Function Creation
  • A.3 Loops and Conditionals
  • A.4 Operators andRepresentation Functions
  • A.5 Numeric Functions
  • A.6 Sequence Operations
  • A.7 String Escapes
  • A.8 Useful String Methods
  • A.9 Files
  • A.10 Lists
  • A.11 Dictionaries, Hash Tables, or Associative Arrays
  • A.12 External Modules
  • A.13 Classes
  • A.14 Functional Methods
  • Bibliography
  • Index
  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Z

Additional information

Veldu vöru

Leiga á rafbók í 365 daga, Rafbók til eignar, Leiga á rafbók í 180 daga, Leiga á rafbók í 90 daga

Aðrar vörur

0
    0
    Karfan þín
    Karfan þín er tómAftur í búð