In this third edition of the book, the authors have focused on making fixes and improvements as identified by teachers using the book and by anonymous reviewers.
1. General freshening of the references, for example Netscape Navigator and 40 Gb hard disks are so 2005.
2. Introducing more computer science terms (briefly) earlier in the book, such as algorithm, identifier, and local and global scope.
3. More thorough presentation of conditionals, earlier in the book, including else and elif.
4. Asection on functions and parameters, with a discussion of when to use return and when it isn’t necessary.
5. More explanation of how variables work, especially with respect to objects.
6. More on mirroring pictures, with a more generalized example.
7. Updating the Web examples with references to accessing common, modern sites.
8. More on differences between image formats.
9. Removing some of the more trivial Turtle examples in Chapter 16, and adding a couple of sophisticated examples with turtles.
10. Updating the section on hardware and networks to reference newer hardware, including multi core processors and cell phones.
11. Making clearer what can be done in Jython and CPython, in comparison with JES.
12. Adding another steganography-related example.
13. Adding figures and additional explanation for the areas that reviewers saw as confusing for students.
***
Relevant context (Computing for Communications) ? Shows students that computing has a role in their professions and that it’s worth learning.
Manipulation of media ? Includes implementing Photoshop-like effects, reversing/splicing sounds, creating animations, etc.
Use of Python ? Provides a programming language that is easier to learn and use than Java or Scheme in real commercial use (e.g., Google, Industrial Light & Magic).
HTML ? Acknowledges that students in this audience care about the Web; introduces HTML and covers writing programs that generate HTML.
The Web as a Data Source ? Teaches how to read from files, but also discusses how to write programs to directly read Web pages and distill information from there for use in other calculations, other Web pages, etc. Examples include temperature from a weather page, stock prices from a financials page.
Real CS1 content ? Meets the ACM/IEEE Computing Curriculum 2001 guidelines for a CS1 course, including coverage of procedural, object-oriented, and functional programming approaches, even though the book has been used most with non-CS majors.
Brief JavaScript introduction ? Helps students recognize that they can learn a second language.
Full-chapter treatment of GUIs.
Exercises at the end of each chapter, including programming projects.
Many of these projects involve creative, open-ended programming for media creation (e.g., creating visual or audio collages.
Several encourage exploration of cross-disciplinary issues between computer science and other professions.
Four types of boxed items ? Includes CS Key Ideas, Common Bugs, Debugging Tips, and “Making It Work” tips on how to study and be successful at computer science.
List of learning objectives at the start of each chapter ? Most chapters have two lists: One with the media learning objectives (e.g., “Be able to explain how a grayscale image can be created from a color image”) and computer science learning objectives (e.g., “Be able to explain the role of modularity in debugging”).