GO TO
Introduction to Computing and Programming in Python: A Multimedia Approach
by
Mark Guzdial - College of Computing/GVU Georgia Institute of Technology
Publisher: Prentice Hall
Publishing Date: 2004/12/27
eText ISBN-10
0-13-129191-2
eText ISBN-13
978-0-13-129191-1
Print ISBN-10
0-13-117655-2
Print ISBN-13
978-0-13-117655-3
« Back to My CourseSmart
Introduction to Computing and Programming in Python: A Multimedia Approach
by
Mark Guzdial - College of Computing/GVU Georgia Institute of Technology
eTextbook $58.50
(180 day subscription)
Compare Online & Downloadable
Copyright, ii
Preface, v
List of Figures, xviii
1. Introduction, 1
2. Pictures, 36
3. Sounds, ci-59
4. Text, Files, Networks,...
5. Movies, ci-195
6. Topics in Computer Sci...
Appendices, ci-287
Bibliography, ci-292
Table of Contents
Copyright, ii
Preface, v
List of Figures, xviii
1. Introduction, 1
1. Introduction to Computer Science and Media Computation, 3
1.1. What Is Computer Science About?, 3
1.2. What Computers Understand, 8
1.3. Media Computation: Why Digitize Media?, 10
1.4. Computer Science for Everyone, 11
Problems, 13
To Dig Deeper, 13
2. Introduction to Programming, 14
2.1. Programming Is About Naming, 14
2.2. Programming in Python, 17
2.3. Programming in JES, 17
2.4. Media Computation in JES, 19
2.5. Making a Program, 28
Programming Summary, 34
Problems, 34
To Dig Deeper, 35
2. Pictures, 36
3. Modifying Pictures Using Loops, 39
3.1. How Pictures Are Encoded, 40
3.2. Manipulating Pictures, 45
3.3. Changing Color Values, 53
3.4. Creating a Sunset, 61
3.5. Lightening and Darkening, 67
3.6. Creating a Negative, 67
3.7. Converting to Grayscale, 69
Programming Summary, 71
Problems, 72
To Dig Deeper, 73
Color Insert, ci-1
4. Modifying Pixels in a Range, ci-8
4.1. Copying Pixels, ci-8
4.2. Mirroring a Picture, ci-8
4.3. Copying and Transforming Pictures, ci-9
4.4. Replacing Colors: Red-Eye, Sepia Tones, and Posterizing, ci-28
4.5. Combining Pixels: Blurring, ci-34
4.6. Comparing Pixels: Edge Detection, ci-36
Programming Summary, ci-37
Problems, ci-38
To Dig Deeper, ci-41
5. Making Pictures by Combining Pieces, ci-42
5.1. Blending Pictures, ci-42
5.2. Background Subtraction, ci-44
5.3. Chromakey, ci-47
5.4. Drawing on Images, ci-50
5.5. Programs as Specifying Drawing Process, ci-54
Programming Summary, ci-57
Problems, ci-57
3. Sounds, ci-59
6. Modifying Sounds Using Loops, ci-62
6.1. How Sound Is Encoded, ci-62
6.2. Manipulating Sounds, ci-72
6.3. Changing the Volume of Sounds, ci-81
6.4. Normalizing Sounds, ci-88
Programming Summary, ci-91
Problems, ci-93
To Dig Deeper, ci-93
7. Modifying Samples in a Range, ci-94
7.1. Manipulating Different Sections of the Sound Differently, ci-94
7.2. Splicing Sounds, ci-97
7.3. Backwards Sounds, ci-102
Programming Summary, ci-104
Problems, ci-105
To Dig Deeper, ci-106
8. Making Sounds by Combining Pieces, ci-107
8.1. Composing Sounds Through Addition, ci-107
8.2. Blending Sounds, ci-109
8.3. Creating an Echo, ci-110
8.4. How Sampling Keyboards Work, ci-111
8.5. Additive Synthesis, ci-116
8.6. Modern Music Synthesis, ci-124
Programming Summary, ci-126
Problems, ci-126
To Dig Deeper, ci-127
9. Design and Debugging, ci-128
9.1. Designing Programs: How Do We Start?, ci-128
9.2. Techniques of Debugging, ci-132
9.3. Algorithms and Design, ci-135
Programming Summary, ci-136
Problems, ci-136
4. Text, Files, Networks, Databases, and Unimedia, ci-138
10. Creating and Modifying Text, ci-140
10.1. Text as Unimedia, ci-141
10.2. Strings: Making and Manipulating Strings, ci-141
10.3. Files: Places to Put Your Strings and Other Stuff, ci-150
10.4. Extending Our Language Capabilities Using Modules, ci-157
10.5. Networks: Getting Our Text from the Web, ci-161
10.6. Using Text to Shift Between Media, ci-165
Programming Summary, ci-171
Problems, ci-172
To Dig Deeper, ci-174
11. Making Text for the Web, ci-175
11.1. HTML: The Notation of the Web, ci-175
11.2. Writing Programs to Generate HTML, ci-179
11.3. Databases: A Place to Store Our Text, ci-185
Problems, ci-193
To Dig Deeper, ci-194
5. Movies, ci-195
12. Creating and Modifying Movies, ci-198
12.1. Generating Animations, ci-199
12.2. Working with Video Source, ci-208
Problems, ci-213
6. Topics in Computer Science, ci-215
13. Speed, ci-218
13.1. Focusing on Computer Science, ci-218
13.2. What Makes Programs Fast?, ci-218
13.3. What Makes a Computer Fast?, ci-230
Problems, ci-233
To Dig Deeper, ci-233
14. Styles of Programming, ci-234
14.1. Using Functions to Make Programming Easier, ci-234
14.2. Functional Programming: Programming in Very Few Lines, ci-237
14.3. Object-Oriented Programming, ci-248
Programming Summary, ci-259
Problems, ci-260
To Dig Deeper, ci-261
15. Creating Graphical User Interfaces, ci-262
15.1. Where Do Graphical User Interfaces Come From?, ci-262
15.2. Creating a Basic Graphical User Interface, ci-263
15.3. Callbacks and Layout Managers, ci-267
15.4. Using Scrolling Lists, ci-271
Programming Summary, ci-274
Problems, ci-274
To Dig Deeper, ci-274
16. JavaScript: A Web Page Programming Language, ci-275
16.1. JavaScript Syntax, ci-275
16.2. JavaScript Inside of Web Pages, ci-277
16.3. User Interfaces in JavaScript, ci-280
16.4. Multimedia in JavaScript, ci-285
To Dig Deeper, ci-286
Appendices, ci-287
A. Quick Reference to Python, ci-287
A.1. Variables, ci-287
A.2. Function Creation, ci-288
A.3. Loops and Conditionals, ci-288
A.4. Operators and Representation Functions, ci-289
A.5. Numeric Functions, ci-289
A.6. Sequence Operations, ci-289
A.7. String Escapes, ci-290
A.8. Useful String Methods, ci-290
A.9. Files, ci-290
A.10. Lists, ci-291
A.11. Dictionaries, Hash Tables, or Associative Arrays, ci-291
A.12. External Modules, ci-291
A.13. Classes, ci-291
A.14. Functional Methods, ci-291
Bibliography, ci-292
Please use the Print button in the CourseSmart Reader header.