Exploring Wonderland: Java Programming Using Alice and Media Computation
©2010 |Pearson | Out of print
Wanda P Dann, Carnegie Melon Unviersity
Stephen P. Cooper, University of Nebraska at Lincoln
©2010 |Pearson | Out of print
For introductory computing and programming courses at four-year and community colleges.
This new text uses Alice and Media Computation to introduce students to the #1 programming language in use today.
Exploring Wonderland: Java Programming Using Alice and Media Computation, uses Alice to introduce the fundamental concepts of programming, thereby decreasing early frustration with syntax errors usually encountered in a text editor. The concepts introduced in Alice are then applied in Java using Media Computation examples (working with sound samples and pictures). This approach is highly motivating to students, especially for those without prior programming experience.
Preface is available for download in PDF format.
This material is protected under all copyright laws, as they currently exist. No portion of this material may be reproduced, in any form or by any means, without permission in writing from the publisher.
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.
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-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-4 Shape example
18-6 Interfaces and Abstract Classes
18-7 Concept summary
A. Using Alice — a tutorial
B. Alice tips & techniques
C. Quick reference to Java
Pearson offers affordable and accessible purchase options to meet the needs of your students. Connect with us to learn more.
K12 Educators: Contact your Savvas Learning Company Account General Manager for purchase options. Instant Access ISBNs are for individuals purchasing with credit cards or PayPal.
Savvas Learning Company is a trademark of Savvas Learning Company LLC.
Dr. Wanda Dann
recently accepted the Directorship of the Alice Research Project at Carnegie Mellon University. She has been an active member of the Alice team for the last decade. Wanda's research interests include visualization in programming and programming languages and innovative approaches to introductory programming. She has published multiple papers on the use of program visualization in programming languages and its use in teaching and learning introductory computer programming. Dann’s papers and articles have appeared in ACM's Special Interest Group on Computer Science Education (SIGCSE) Inroads
, the Computer Science Education Journal, and other related publications. Dr. Dann is the lead author of Learning to Program with Alice
(2006, Prentice-Hall) and Learning to Program with Alice
, Brief Edition (2007, Prentice Hall). She is also a distinguished contributor to professional Computer Science educator groups and has served as ACM’s SIGCSE Technical Symposium publications editor and as ACM’s SIGCSE Symposium chair. She was recently elected to serve as a member of the SIGCSE Board and is the SIGCSE-CSTA liaison. Dr. Dann received a Ph.D. in Computer Science at Syracuse University.
Stephen Cooper is an Associate Professor of Computer Science and the Director for the Center for Visualization at Saint Joseph's University. He taught previously at Rivier College, serving as Computer Science program director. He has also worked at IBM as a systems programmer. Dr. Cooper's research interests lie in the semantics of programming languages as well as in program visualization. He is the author or co-author of a dozen articles, and has been the principal investigator for several National Science Foundation and private grants.
Barbara Ericson is a research scientist and the Director of Computing Outreach for the College of Computing at Georgia Tech. She has been working on improving introductory computing education for over 5 years. She is currently the teacher education representative on the Computer Science Teachers Association board and the co-chair of the K-12 Alliance for the National Center for Women in Information Technology. She enjoys the diversity of the types of problems she has worked on over the years in computing including computer graphics, artificial intelligence, medicine, and object-oriented programming.
We're sorry! We don't recognize your username or password. Please try again.
The work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning.
You have successfully signed out and will be required to sign back in should you need to download more resources.