Exploring Wonderland: Java Programming Using Alice and Media Computation

Wanda P. Dann
Stephen P. Cooper
Barbara Ericson
Title Exploring Wonderland: Java Programming Using Alice and Media Computation
Edition 1st
ISBN 9780136001591
ISBN 10 0136001599
Published 14/08/2009
Published by Pearson Higher Ed USA
Pages 672
Format Paperback
In stock
 
Total Price $139.95 Add to Cart
Description

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.

Table of contents

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     

Features & benefits

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.¿

¿

Author biography
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.
Supplement URL
Student supplements
Educator supp's
Online resources