Introduction to Computing and Programming in Python: International Edition

Höfundur Mark J. Guzdial

Útgefandi Pearson International Content

Snið Page Fidelity

Print ISBN 9780273774549

Útgáfa 3

Höfundarréttur 2012

4.690 kr.

Description

Efnisyfirlit

  • Contents
  • New in the Third Edition
  • Changes Made in the Second 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
  • 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 Variable Recipes: Real Math-Like Functions That Take Input
  • 3 Modifying Pictures Using Loops
  • 3.1 How Pictures Are Encoded
  • 3.2 Manipulating Pictures
  • 3.2.1 Exploring Pictures
  • 3.3 Changing Color Values
  • 3.3.1 Using Loops in Pictures
  • 3.3.2 Increasing/Decreasing Red (Green, Blue)
  • 3.3.3 Testing the Program: Did That Really Work?
  • 3.3.4 Changing One Color at a Time
  • 3.4 Creating a Sunset
  • 3.4.1 Making Sense of Functions
  • 3.5 Lightening and Darkening
  • 3.6 Creating a Negative
  • 3.7 Converting to Grayscale
  • 4 Modifying Pixels in a Range
  • 4.1 Copying Pixels
  • 4.1.1 Looping Across the Pixels with range
  • 4.2 Mirroring a Picture
  • 4.3 Copying and Transforming Pictures
  • 4.3.1 Copying
  • 4.3.2 Creating a Collage
  • 4.3.3 General Copying
  • 4.3.4 Rotation
  • 4.3.5 Scaling
  • 5 Picture Techniques with Selection & Combination
  • 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 Combining Pixels: Blurring
  • 5.3 Comparing Pixels: Edge Detection
  • 5.4 Blending Pictures
  • 5.5 Background Subtraction
  • 5.6 Chromakey
  • 5.7 Drawing on Images
  • 5.7.1 Drawing with Drawing Commands
  • 5.7.2 Vector and Bitmap Representations
  • 5.8 Selecting without Re-Testing
  • 5.9 Programs as Specifying Drawing Process
  • 5.9.1 Why Do We Write Programs?
  • 2 SOUND
  • 6 Modifying Sounds Using Loops
  • 6.1 How Sound Is Encoded
  • 6.1.1 The Physics of Sound
  • 6.1.2 Exploring How Sounds Look
  • 6.1.3 Encoding the Sound
  • 6.1.4 Binary Numbers and Two’s Complement
  • 6.1.5 Storing Digitized Sounds
  • 6.2 Manipulating Sounds
  • 6.2.1 Open Sounds and Manipulating Samples
  • 6.2.2 Using the JES MediaTools
  • 6.2.3 Looping
  • 6.3 Changing the Volume of Sounds
  • 6.3.1 Increasing Volume
  • 6.3.2 Did That Really Work?
  • 6.3.3 Decreasing Volume
  • 6.3.4 Making Sense of Functions, in Sounds
  • 6.4 Normalizing Sounds
  • 6.4.1 Generating Clipping
  • 7 Modifying Samples in a Range
  • 7.1 Manipulating Different Sections of the Sound Differently
  • 7.2 Splicing Sounds
  • 7.3 General Clip and Copy
  • 7.4 Reversing Sounds
  • 7.5 Mirroring
  • 7.6 On Functions and Scope
  • 8 Making Sounds by Combining Pieces
  • 8.1 Composing Sounds Through Addition
  • 8.2 Blending Sounds
  • 8.3 Creating an Echo
  • 8.3.1 Creating Multiple Echoes
  • 8.3.2 Creating Chords
  • 8.4 How Sampling Keyboards Work
  • 8.4.1 Sampling as an Algorithm
  • 8.5 Additive Synthesis
  • 8.5.1 Making Sine Waves
  • 8.5.2 Adding Sine Waves Together
  • 8.5.3 Checking Our Result
  • 8.5.4 Square Waves
  • 8.5.5 Triangular Waves
  • 8.6 Modern Music Synthesis
  • 8.6.1 MP3
  • 8.6.2 MIDI
  • 9 Building Bigger Programs
  • 9.1 Designing Programs Top-Down
  • 9.1.1 A Top-Down Design Example
  • 9.1.2 Designing the Top-Level Function
  • 9.1.3 Writing the Subfunctions
  • 9.2 Designing Programs Bottom-Up
  • 9.2.1 An Example Bottom-Up Process
  • 9.3 Testing Your Program
  • 9.3.1 Testing the Edge Conditions
  • 9.4 Tips on Debugging
  • 9.4.1 Finding Which Statement to Worry About
  • 9.4.2 Seeing the Variables
  • 9.4.3 Debugging the Adventure Game
  • 9.5 Algorithms and Design
  • 9.6 Running Programs Outside of JES
  • 3 TEXT, FILES,NETWORKS,DATABASES, AND UNIMEDIA
  • 10 Creating and Modifying Text
  • 10.1 Text as Unimedia
  • 10.2 Strings: Making and Manipulating Strings
  • 10.3 Manipulating Parts of Strings
  • 10.3.1 String Methods: Introducing Objects and Dot Notation
  • 10.3.2 Lists: Powerful, Structured Text
  • 10.3.3 Strings Have No Font
  • 10.4 Files: Places to Put Your Strings and Other Stuff
  • 10.4.1 Opening and Manipulating Files
  • 10.4.2 Generating Form Letters
  • 10.4.3 Writing Out Programs
  • 10.5 The Python Standard Library
  • 10.5.1 More on Import and Your Own Modules
  • 10.5.2 Another Fun Module: Random
  • 10.5.3 A Sampling of Python Standard Libraries
  • 11 Advanced Text Techniques: Web and Information
  • 11.1 Networks: Getting Our Text from the Web
  • 11.2 Using Text to Shift Between Media
  • 11.3 Moving Information Between Media
  • 11.4 Using Lists as Structured Text for Media Representations
  • 11.5 Hiding Information in a Picture
  • 12 Making Text for the Web
  • 12.1 HTML: The Notation of the Web
  • 12.2 Writing Programs to Generate HTML
  • 12.3 Databases: A Place to Store Our Text
  • 12.3.1 Relational Databases
  • 12.3.2 An Example Relational Database Using Hash Tables
  • 12.3.3 Working with SQL
  • 12.3.4 Using a Database to Build Web Pages
  • 4 MOVIES
  • 13 Creating and Modifying Movies
  • 13.1 Generating Animations
  • 13.2 Working with Video Source
  • 13.2.1 Video Manipulating Examples
  • 13.3 Building a Video Effect Bottom-Up
  • 5 TOPICS IN COMPUTER SCIENCE
  • 14 Speed
  • 14.1 Focusing on Computer Science
  • 14.2 What Makes Programs Fast?
  • 14.2.1 What Computers Really Understand
  • 14.2.2 Compilers and Interpreters
  • 14.2.3 What Limits Computer Speed?
  • 14.2.4 Does It Really Make a Difference?
  • 14.2.5 Making Searching Faster
  • 14.2.6 Algorithms That Never Finish or Can’t Be Written
  • 14.2.7 Why Is Photoshop Faster than JES?
  • 14.3 What Makes a Computer Fast?
  • 14.3.1 Clock Rates and Actual Computation
  • 14.3.2 Storage: What Makes a Computer Slow?
  • 14.3.3 Display
  • 15 Functional Programming
  • 15.1 Using Functions to Make Programming Easier
  • 15.2 Functional Programming with Map and Reduce
  • 15.3 Functional Programming for Media
  • 15.3.1 Media Manipulation Without Changing State
  • 15.4 Recursion: A Powerful Idea
  • 15.4.1 Recursive Directory Traversals
  • 15.4.2 Recursive Media Functions
  • 16 Object-Oriented Programming
  • 16.1 History of Objects
  • 16.2 Working with Turtles
  • 16.2.1 Classes and Objects
  • 16.2.2 Sending Messages to Objects
  • 16.2.3 Objects Control Their State
  • 16.3 Teaching Turtles New Tricks
  • 16.3.1 Overriding an Existing Turtle Method
  • 16.3.2 Using Turtles for More
  • 16.4 An Object-Oriented Slide Show
  • 16.4.1 Making the Slide Class More Object-Oriented
  • 16.5 Object-Oriented Media
  • 16.6 Joe the Box
  • 16.7 Why Objects?
  • APPENDIX
  • A: Quick Reference to Python
  • A.1 Variables
  • A.2 Function Creation
  • A.3 Loops and Conditionals
  • A.4 Operators and Representation 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
Show More

Additional information

Veldu vöru

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

Aðrar vörur

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