Home > Store

Exploring Wonderland: Java Programming Using Alice and Media Computation

Register your product to gain access to bonus material or receive a coupon.

Exploring Wonderland: Java Programming Using Alice and Media Computation


  • Sorry, this book is no longer in print.
Not for Sale



A unique approach and a high-impact, motivating context for learning: Instructors who teach Alice have shared with us their concerns about how to transition students from Alice to programming in Java. This book’s unique combined approach motivates beginners to learn computing concepts in Alice and then see how to implement them in Java using Media Computation.

  • First the authors show students how to program in Alice by dragging and dropping tiles to create 3D movies and/or games.
  • Then, in Media Computation, students learn to program by writing textual programs that manipulate media: pictures, sounds, movies, and text.
Mediated transfer: The authors' experience is that students “get” the concept by seeing very similar examples presented “side by side” in Alice and then in Java and by the instructor making an effort to emphasize the similarities and explain the differences. Mediated transfer between Alice and Media Computation in Java is the underlying approach of this text and instructional materials. The Tea Party website, maintained by Barb Ericson, provides some support to assist teachers in making the transition.

Widespread Appeal: By blending Alice with Media Computation the authors take advantage of the interest and motivation students find in video games and animated films. They believe that this approach will appeal to a wide range of students while covering all the same skills and concepts mandated by curriculum standards.

Highly Accessible: Alice has a wide, established audience in colleges and universities in courses for non-majors.¿


  • Copyright 2010
  • Dimensions: 7-3/8" x 9-1/8"
  • Pages: 672
  • Edition: 1st
  • Book
  • ISBN-10: 0-13-600159-9
  • ISBN-13: 978-0-13-600159-1

Fundamental programming concepts are introduced using Alice and media computation examples to facilitate an easier transition to Java. KEY TOPICS: Getting Started with Alice; Program Design and Implementation in Alice; Object Oriented Concepts in Alice; Working with Objects in Java; Drawing in Java; Functions and Conditionals in Alice; Repetition: Loops in Alice; Modifying all Samples in a Sound in Java; Modifying Samples using Ranges; Modifying Pictures using Loops; Modifying Pixels in a Matrix; Conditionally Modifying Pixels; Creating Classes; Creating and Modifying Text; Repetition: Recursion in Alice; Speed; Encoding, Manipulating, and Creating Movies; Abstract Classes, Polymorphism, and Inheritance. MARKET: This book will appeal to anyone with an interest in video games or animated films that wants to learn programming in an approachable and intuitive manner.

Sample Content

Table of Contents


Chapter 1 Getting Started with Alice

            1-1 Introduction to Alice

            1-2 Alice concepts

Chapter 2  Program Design and Implementation in Alice

            2-1 Scenarios and storyboard design

            2-2 Translating a storyboard to program code

Chapter 3 Object Oriented Concepts in Alice

            3-1 Classes, objects, and methods

            3-2 Creating object methods and inheritance

            3-3 Using parameters for passing information to a method

Chapter 4 Working with Objects in Java

            4-1 Introduction to DrJava

            4-2 Working with turtles

            4-3 Creating methods in Java

            4-4 Passing parameters to methods

            4-5 Concepts summary

Chapter 5 Drawing in Java

            5-1 Working with Media

            5-2 Drawing using the Graphics class

            5-3 Using Graphics2D for advanced drawing

5-4 Using Media Computation with Alice Pictures

5-5 Concepts Summary

Chapter 6 Functions and Conditionals in Alice

            6-1 Functions and abstraction

            6-2 Conditional execution with If/Else and Boolean functions

Chapter 7 Repetition:  Loops in Alice

            7-1 For loops and nested for loops

            7-2 While — a conditional loop

            7-3 Lists and looping

            7-4 List search

Chapter 8  Modifying all samples in a sound in Java

            8-1 How sound is encoded as a 1D array

            8-2 Manipulating sounds

            8-3 Changing the volume of sounds with loops

8-4 Conditionally modifying sounds

            8-5 Using Media Computation with Alice

            8-6 Concepts summary

Chapter 9 Modifying samples using ranges

            9-1 Manipulating different sections of a sound differently

            9-2 Creating a sound clip 

            9-3 Splicing sounds

            9-4 Reversing a sound

            9-5 Mirroring a sound

            9-6 Blending sounds

9-7 Creating an echo

9-8 How sampling keyboards work

9-9 Using Alice with Media Computation

9-10 Concepts summary

Chapter 10 Modifying pictures using loops

            10-1 How pictures are encoded

            10-2 Manipulating pictures

            10-3 Changing color values

            10-4 Using Media Computation with Alice

            10-5 Concepts summary

Chapter 11 Modifying pixels in a matrix

            11- 1 Copying pixels using a nested loop

            11-2 Copying and transforming pictures

            11-3 Using Media Computation with Alice

            11-4 Concepts summary

Chapter 12 Conditionally modifying pixels

            12-1 Conditional pixel changes

            12-2 Simple edge detection, conditionals with two options

            12-3 Sepia-toned and posterized pictures, multiple conditionals

            12-4 Highlighting extremes

            12-5 Combing pixels: Blurring

            12-6 Background subtraction

            12-7 Chromakey

            12-8 Using Media Computation with Alice

            12-9 Concepts summary

Chapter 13 Creating classes

            13-1 Identifying the objects and the fields

            13-2 Defining a class

            13-3 Overloading constructors

            13-4 Working with arrays

            13-5 Creating accessors (getters) and modifiers (setters)

            13-6 Creating a main method

            13-7 Javadoc comments

            13-8 Reusing a class via inheritance

            13-9 Using Media Computation with Alice

            13-10 Concepts summary

Chapter 14 Creating and modifying text

            14-1 Text as unimedia

            14-2 Strings: character sequences

            14-3 Files: places to put your strings and other stuff

            14-4 Other useful classes: Random

            14-5 Networks: getting our text from the web

            14-6 Using text to shift between media

            14-7 Concepts Summary

Chapter 15 Repetition: recursion in Alice

            15-1 Introduction to recursion

            15-2 Another flavor of recursion

Chapter 16 Speed

            16-1 Focusing on Computer Science

            16-2 What makes programs fast?

            16-3 What makes a computer fast?

            16-4 Concepts summary

Chapter 17  Encoding, manipulating, and creating movies

            17-1 Generating Frame-based Animations

            17-2 Working with video frames

            17-3 Using Media Computation with Alice

            17-4 Concepts summary

Chapter 18 Abstract Classes, Polymorphism, and Inheritance

            18-1 Object Oriented Analysis

            18-2 Generalization / Specialization

            18-3 Polymorphism

            18-4 Shape example

            18-5 Interfaces

            18-6 Interfaces and Abstract Classes

            18-7 Concept summary



A.     Using Alice — a tutorial

B.     Alice tips & techniques

C.     Quick reference to Java     


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership