EARTH WEEK
Now through April 22, save up to 70% on digital learning resources. Learn more.
Register your product to gain access to bonus material or receive a coupon.
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.
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.¿
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.
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