چه کسانی این کتاب را می‌خوانند

دانشجوعلاقه‌مند یادگیری
کتابخوان حرفه‌ایلذت مطالعه
نویسندهالهام‌گیری

Introduction to computing and programming in Python : a multimedia approach

Ericson, Barbara;Guzdial, Mark J

قیمت نهایی

۴۰٬۰۰۰ تومان۴۹٬۰۰۰ تومان۱۸٪ تخفیف
  • تخفیف زمان‌دار−۹٬۰۰۰ تومان

۹٬۰۰۰ تومان صرفه‌جویی نسبت به قیمت اصلی

بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.

تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی

نسخه اصلی و اورجینال

فایل دیجیتال کامل و بدون دستکاری — همان نسخه‌ای که پس از خرید دریافت می‌کنید.

مشخصات کتاب

سال انتشار
۲۰۱۶
فرمت
PDF
زبان
انگلیسی
حجم فایل
۱۴٫۹ مگابایت
شابک
9780134025544، 9780134025629، 9780134025650، 9780134059846، 9781292109862، 9781292109879، 9781292109954، 0134025547، 0134025628، 0134025652، 0134059840، 1292109866، 1292109874، 1292109955

دربارهٔ کتاب

For courses in Computer Programming with Python. Social Computing and Programming with Python Introduction to Computing and Programming in Python is a uniquely researched and up-to-date volume that is widely recognised for its successful introduction to the subject of Media Computation. Emphasising creativity, classroom interaction, and in-class programming examples, Introduction to Computing and Programming in Python takes a bold and unique approach to computation that engages students and applies the subject matter to the relevancy of digital media. The 4th Edition teaches students to program in an effort to communicate via social computing outlets, providing a unique approach that serves the interests of a broad range of students. The full text downloaded to your computer With eBooks you can: search for key concepts, words and phrases make highlights and notes as you study share your notes with friends eBooks are downloaded to your computer and accessible either offline through the Bookshelf (available as a free download), available online and also via the iPad and Android apps. Upon purchase, you'll gain instant access to this eBook. Time limit The eBooks products do not have an expiry date. You will continue to access your digital ebook products whilst you have your Bookshelf installed. Cover 1 Title Page 2 Copyright Page 3 ACKNOWLEDGMENTS 17 Contents 6 Preface for the Fourth Edition 14 Preface to the First Edition 19 About the Authors 25 1 INTRODUCTION 26 1 Introduction to Computer Science and Media Computation 28 1.1 What Is Computer Science About? 28 1.2 Programming Languages 31 1.3 What Computers Understand 34 1.4 Media Computation: Why Digitize Media? 36 1.5 Computer Science for Everyone 38 1.5.1 It’s About Communication 38 1.5.2 It’s About Process 38 1.5.3 You Will Probably Need It 39 2 Introduction to Programming 43 2.1 Programming Is About Naming 43 2.1.1 Files and Their Names 45 2.2 Programming in Python 46 2.3 Programming in JES 47 2.4 Media Computation in JES 48 2.4.1 Showing a Picture 52 2.4.2 Playing a Sound 55 2.4.3 Naming Values 55 2.5 Making a Program 58 2.5.1 Functions: Real Math-Like Functions That Take Input 62 3 Creating and Modifying Text 69 3.1 Strings: Making Human Text in a Computer 69 3.1.1 Making Strings from Strings: Telling Stories 71 3.2 Taking Strings Apart with For 74 3.2.1 Testing the Pieces 76 3.2.2 Taking String Apart, and Putting Strings Together 79 3.2.3 Taking Strings Apart with Indices 82 3.2.4 Mirroring, Reversing, and Separating Strings with Index 84 3.2.5 Encoding and Decoding Strings Using a Keyword Cipher 86 3.3 Taking Strings Apart by Words 88 3.4 What’s Inside a String 91 3.5 What a Computer Can Do 92 4 Modifying Pictures Using Loops 99 4.1 How Pictures Are Encoded 100 4.2 Manipulating Pictures 105 4.2.1 Exploring Pictures 109 4.3 Changing Color Values 111 4.3.1 Using Loops in Pictures 111 4.3.2 Increasing/Decreasing Red (Green, Blue) 113 4.3.3 Testing the Program: Did That Really Work? 118 4.3.4 Changing One Color at a Time 119 4.4 Creating a Sunset 120 4.4.1 Making Sense of Functions 120 4.5 Lightening and Darkening 125 4.6 Creating a Negative 126 4.7 Converting to Grayscale 127 4.8 Specifying Pixels by Index 129 5 Picture Techniques with Selection 139 5.1 Replacing Colors: Red-Eye, Sepia Tones, and Posterizing 139 5.1.1 Reducing Red-Eye 143 5.1.2 Sepia-Toned and Posterized Pictures: Using Conditionals to Choose the Color 145 5.2 Comparing Pixels: Edge Detection 151 5.3 Background Subtraction 154 5.4 Chromakey 157 5.5 Coloring in ranges 162 5.5.1 Adding a Border 162 5.5.2 Lightening the Right Half of a Picture 163 5.6 Selecting without Retesting 164 6 Modifying Pixels by Position 170 6.1 Processing Pixels Faster 170 6.1.1 Looping across the Pixels with Range 172 6.1.2 Writing Faster Pixel Loops 174 6.2 Mirroring a Picture 176 6.3 Copying and Transforming Pictures 183 6.3.1 Copying 184 6.3.2 Copying Smaller and Modifying 190 6.3.3 Copying and Referencing 192 6.3.4 Creating a Collage 194 6.3.5 General Copying 197 6.3.6 Rotation 198 6.3.7 Scaling 201 6.4 Combining Pixels: Blurring 206 6.5 Blending Pictures 209 6.6 Drawing on Images 211 6.6.1 Drawing with Drawing Commands 213 6.6.2 Vector and Bitmap Representations 214 6.7 Programs as Specifying Drawing Process 216 6.7.1 Why Do We Write Programs? 217 2 SOUND 226 7 Modifying Sounds Using Loops 228 7.1 How Sound Is Encoded 228 7.1.1 The Physics of Sound 228 7.1.2 Investigating Different Sounds 231 7.1.3 Encoding the Sound 236 7.1.4 Binary Numbers and Two’s Complement 237 7.1.5 Storing Digitized Sounds 238 7.2 Manipulating Sounds 240 7.2.1 Open Sounds and Manipulating Samples 240 7.2.2 Using the JES Media Tools 243 7.2.3 Looping 244 7.3 Changing the Volume of Sounds 245 7.3.1 Increasing Volume 245 7.3.2 Did That Really Work? 246 7.3.3 Decreasing Volume 250 7.3.4 Using Array Index Notation 251 7.3.5 Making Sense of Functions in Sounds 252 7.4 Normalizing Sounds 252 7.4.1 Generating Clipping 254 8 Modifying Samples in a Range 260 8.1 Manipulating Different Sections of the Sound Differently 260 8.1.1 Revisiting Index Array Notation 261 8.2 Splicing Sounds 263 8.3 General Clip and Copy 270 8.4 Reversing Sounds 272 8.5 Mirroring 274 8.6 On Functions and Scope 274 9 Making Sounds by Combining Pieces 280 9.1 Composing Sounds Through Addition 280 9.2 Blending Sounds 281 9.3 Creating an Echo 283 9.3.1 Creating Multiple Echoes 285 9.3.2 Creating Chords 285 9.4 How Sampling Keyboards Work 286 9.4.1 Sampling as an Algorithm 290 9.5 Additive Synthesis 290 9.5.1 Making Sine Waves 290 9.5.2 Adding Sine Waves Together 292 9.5.3 Checking Our Result 293 9.5.4 Square Waves 294 9.5.5 Triangular Waves 296 9.6 Modern Music Synthesis 298 9.6.1 MP3 298 9.6.2 MIDI 299 10 Building Bigger Programs 303 10.1 Designing Programs Top-Down 304 10.1.1 A Top-Down Design Example 305 10.1.2 Designing the Top-Level Function 306 10.1.3 Writing the Subfunctions 308 10.2 Designing Programs Bottom-Up 312 10.2.1 An Example Bottom-Up Process 313 10.3 Testing Your Program 313 10.3.1 Testing the Edge Conditions 315 10.4 Tips on Debugging 316 10.4.1 Finding Which Statement to Worry About 317 10.4.2 Seeing the Variables 317 10.4.3 Debugging the Adventure Game 319 10.5 Algorithms and Design 322 10.6 Connecting to Data Outside a Function 323 10.7 Running Programs Outside of JES 327 3 TEXT, FILES, NETWORKS, DATABASES, AND UNIMEDIA 334 11 Manipulating Text with Methods and Files 336 11.1 Text as Unimedia 336 11.2 Manipulating Parts of Strings 337 11.2.1 String Methods: Introducing Objects and Dot Notation 338 11.2.2 Lists: Powerful, Structured Text 340 11.2.3 Strings Have No Font 342 11.3 Files: Places to Put Your Strings and Other Stuff 342 11.3.1 Opening and Manipulating Files 344 11.3.2 Generating Form Letters 345 11.3.3 Reading and Manipulating Data from the Internet 346 11.3.4 Scraping Information from a Web Page 349 11.3.5 Reading CSV Data 350 11.3.6 Writing Out Programs 352 11.4 The Python Standard Library 353 11.4.1 More on Import and Your Own Modules 354 11.4.2 Adding Unpredictably to Your Program with Random 355 11.4.3 Reading CSV Files with a Library 357 11.4.4 A Sampling of Python Standard Libraries 357 12 Advanced Text Techniques: Web and Information 362 12.1 Networks: Getting Our Text from the Web 362 12.1.1 Automating Access to CSV Data 366 12.1.2 Accessing FTP 368 12.2 Using Text to Shift Between Media 369 12.3 Moving Information Between Media 372 12.4 Using Lists as Structured Text for Media Representations 375 12.5 Hiding Information ina Picture 376 12.5.1 Hiding a Sound Inside a Picture 378 13 Making Text for the Web 384 13.1 HTML: The Notation of the Web 384 13.2 Writing Programs to Generate HTML 389 13.2.1 Making Home Pages 391 13.3 Databases: A Place to Store Our Text 394 13.3.1 Relational Databases 396 13.3.2 An Example Relational Database Using Hash Tables 397 13.3.3 Working with SQL 400 13.3.4 Using a Database to Build Web Pages 402 4 MOVIES 408 14 Creating and Modifying Movies 410 14.1 Generating Animations 411 14.2 Working with Video Source 420 14.2.1 Video Manipulating Examples 420 14.3 Building a Video Effect Bottom-Up 424 15 Speed 431 15.1 Focusing on Computer Science 431 15.2 What Makes Programs Fast? 431 15.2.1 What Computers Really Understand 432 15.2.2 Compilers and Interpreters 433 15.2.3 What Limits Computer Speed? 437 15.2.4 Does It Really Make a Difference? 439 15.2.5 Making Searching Faster 442 15.2.6 Algorithms That Never Finish or Can’t Be Written 444 15.2.7 Why Is Photoshop Faster than JES? 445 15.3 What Makes a Computer Fast? 445 15.3.1 Clock Rates and Actual Computation 446 15.3.2 Storage: What Makes a Computer Slow? 447 15.3.3 Display 448 16 Functional Programming 451 16.1 Using Functions to Make Programming Easier 451 16.2 Functional Programming with Map and Reduce 455 16.3 Functional Programming for Media 458 16.3.1 Media Manipulation without Changing State 459 16.4 Recursion: A Powerful Idea 460 16.4.1 Recursive Directory Traversals 465 16.4.2 Recursive Media Functions 467 17 Object-Oriented Programming 472 17.1 History of Objects 472 17.2 Working with Turtles 474 17.2.1 Classes and Objects 474 17.2.2 Sending Messages to Objects 475 17.2.3 Objects Control Their State 477 17.3 Teaching Turtles New Tricks 479 17.3.1 Overriding an Existing Turtle Method 481 17.3.2 Working with Multiple Turtles at Once 482 17.3.3 Turtles with Pictures 484 17.3.4 Dancing Turtles 485 17.3.5 Recursion and Turtles 488 17.4 An Object-Oriented Slide Show 489 17.4.1 Making the Slide Class More Object-Oriented 492 17.5 Object-Oriented Media 494 17.6 Joe the Box 499 17.7 Why Objects? 500 APPENDIX 507 A Quick Reference to Python 507 A.1 Variables 507 A.2 Function Creation 508 A.3 Loops and Conditionals 508 A.4 Operators andRepresentation Functions 509 A.5 Numeric Functions 510 A.6 Sequence Operations 510 A.7 String Escapes 510 A.8 Useful String Methods 510 A.9 Files 511 A.10 Lists 511 A.11 Dictionaries, Hash Tables, or Associative Arrays 511 A.12 External Modules 511 A.13 Classes 512 A.14 Functional Methods 512 Bibliography 513 Index 516 A 516 B 516 C 517 D 517 E 517 F 518 G 518 H 519 I 519 J 519 K 519 L 519 M 520 N 520 O 520 P 521 Q 521 R 521 S 522 T 523 U 523 V 523 W 523 X 524 Z 524 Social Computing and Programming with Python Introduction to Computing and Programming in Python is a uniquely researched and up-to-date volume that is widely recognized for its successful introduction to the subject of Media Computation. Emphasizing creativity, classroom interaction, and in-class programming examples, Introduction to Computing and Programming in Python takes a bold and unique approach to computation that engages students and applies the subject matter to the relevancy of digital media. The Fourth Edition teaches students to program in an effort to communicate via social computing outlets, providing a unique approach that serves the interests of a broad range of students. "Introduction to Computing and Programming in Python is a uniquely researched and up-to-date volume that is widely recognized for its successful introduction to the subject of Media Computation. Emphasizing creativity, classroom interaction, and in-class programming examples, Introduction to Computing and Programming in Python takes a bold and unique approach to computation that engages students and applies the subject matter to the relevancy of digital media. The Fourth Edition teaches students to program in an effort to communicate via social computing outlets, providing a unique approach that serves the interests of a broad range of students."--Amazon.com Research in computing education makes it clear that one doesn't just "learn to program." One learns to program something [8, 19], and the motivation to do that something can make the difference between learning and not learning to program [5]. The challenge for any teacher is to pick a something that is a powerful enough motivator. People want to communicate.We are social creatures and the desire to communicate is one of our primal motivations. Increasingly, the computer is used as a tool for communication even more than a tool for calculation. Virtually all published text, images, sounds, music, and movies today are prepared using computing technology

قیمت نهایی

۴۰٬۰۰۰ تومان