Preface
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
Appendices
A. Using Alice - a tutorial
B. Alice tips & techniques
C. Quick reference to Java