(Ebook PDF) Alice 3 To Java: Learning Creative Programming Through Storytelling and Gaming
(Ebook PDF) Alice 3 To Java: Learning Creative Programming Through Storytelling and Gaming
com
https://ebookluna.com/product/ebook-pdf-alice-3-to-java-
learning-creative-programming-through-storytelling-and-
gaming/
OR CLICK HERE
DOWLOAD NOW
https://ebookluna.com/product/ebook-pdf-documentary-storytelling-
creative-nonfiction-on-screen-4th-edition/
ebookluna.com
https://ebookluna.com/product/ebook-pdf-creative-thinking-and-arts-
based-learning-preschool-through-fourth-grade-7th-edition/
ebookluna.com
https://ebookluna.com/product/ebook-pdf-java-an-introduction-to-
problem-solving-and-programming-7th-edition/
ebookluna.com
https://ebookluna.com/product/ebook-pdf-java-an-introduction-to-
problem-solving-and-programming-8th-edition/
ebookluna.com
(eBook PDF) Introduction to JAVA Programming and Data
Structures Comprehensive Version 11
https://ebookluna.com/product/ebook-pdf-introduction-to-java-
programming-and-data-structures-comprehensive-version-11/
ebookluna.com
https://ebookluna.com/download/introduction-to-java-programming-
comprehensive-version-ebook-pdf/
ebookluna.com
https://ebookluna.com/product/ebook-pdf-introduction-to-java-
programming-and-data-structures-comprehensive-version-11th-global-
edition/
ebookluna.com
https://ebookluna.com/product/ebook-pdf-introduction-to-java-
programming-brief-version-global-edition-11th-edition/
ebookluna.com
https://ebookluna.com/download/java-programming-ebook-pdf/
ebookluna.com
Contents
Preface xvii
1 • Introduction 7
2 • Design 13
Exercises 393
Projects 394
Epilogue 457
Epilogue Capstone Project 461
Index 471
Preface
Alice is an educational software tool intended for teaching and learning fundamental con-
cepts of computer programming with animation, storytelling, and gaming as the context.
This book, and the Alice 3 software, builds on and extends the innovative approach intro-
duced with Alice 2 and the Learning to Program with Alice textbook (written by Dann, Coo-
per and Pausch and first published in 2004). Formal studies have proven the effectiveness
of this approach in attracting a diverse population, as well as increasing the retention rate
of students in introductory levels in both high school and early college courses. This suc-
cess and the highly positive feedback from hundreds of thousands of instructors and stu-
dents inspired the Alice team at Carnegie Mellon University to continue Alice system
development and provide strong support for instructors.
Teaching Approach
Creative Problem Solving
A creative problem-solving approach is used throughout the book. Each chapter begins
with a new problem, which is basically: “Design and create a program that animates the
story of (or simulates, or plays the game of) ....” Our problem-solving approach is an adap-
tation of a well-known approach developed by George Polya and published in his book,
How to Solve It. A quick summary of Polya’s problem-solving approach is
xvii
xviii Preface
animations inspired by the works of professional animation and gaming studios such as
Disney, Pixar, DreamWorks, Electronic Arts, and others. In addition to their visual appeal,
Alice’s Gallery classes provide features to jumpstart student animation programming,
including built-in animation methods. For example, the bird class includes pre-made meth-
ods for unfolding and folding a bird’s wings. These built-in animation methods provide for
rapid production of student story animations. And although these pre-made animations
make it easy for students to get started, they are merely an inspirational beginning. Alice
provides a powerful, intuitive interface for students to create their own customized methods
and animations from the programmatically simple to the complex. Students can even create
their own custom classes complete with inheritance features. Alice’s emphasis on visualiz-
ing classes of characters and props eases students into object-oriented thinking.
Audience
We understand that instructors will use this text to implement and support curriculum
and objectives that meet the needs and requirements of students in their own specific
educational institutions. In other words, we expect instructors will use the textbook in
Preface xix
many different ways. Nonetheless, the following provides a short description of the
target population and courses we taught, and others we envisioned, as this book was
written.
In a semester-long course for introductory programming for non-majors, with an
interdisciplinary focus: The programming examples presented in this text have a story-
telling and animation context that is well suited to courses with an interdisciplinary
focus. Preliminary testing with non-majors in liberal arts schools and in curricula for
media arts, gaming, communications, and other programs of study has been highly
successful.
In a semester-long introductory programming course for majors who have little or
no programming experience: In many colleges, thirty to fifty percent of incoming majors
have experience in personal productivity with computers, but not in programming. Students
with little or no previous programming experience are at a disadvantage in a rigorous CS101
course and are at risk of dropping out or changing their major. Alice has been shown to
significantly increase retention and achievement of these students.
As a primary component in the AP Computer Science Principles course: This
book encompasses the span of computational thinking practices: connecting computing,
creating computational artifacts, abstracting, analyzing problems and artifacts, communi-
cating, and collaborating. The animation problem-solving context exemplifies most of the
big ideas in the CS Principles curriculum, including creativity, abstraction, algorithms, and
programming.
As a preparatory course prior to an AP Computer Science (Java) course: Alice 3
can be displayed in Java mode. This allows students to create program code in a gentle drag-
and-drop programming environment where typing code with the details of syntax is not
the major focus. This approach was used in Seymour Papert’s Logo and Rich Pattis’s Karel
the Robot, which were inspirations for the Alice project.
Note: Over time, exercises and projects become more free-form and open ended. For this
reason, the number of exercises and projects included in the chapters are numerous at the
beginning but decrease in the latter half of the book.
The following is a quick overview of the programming concepts introduced by chap-
ter. See the Table of Contents for a list of chapter titles and a more detailed description of
chapter content.
xx Preface
The first three or four chapters of the book are meant to be covered in quick suc-
cession, ideally in the first week of class meetings/lab. Remaining chapters vary in
length and may take two to five class meeting/lab days each. The pathway through
chapters, topic selection, and sequence can be modified at the instructor’s discretion to
meet specific needs and goals. The following dependency chart may assist in plotting a
path.
The chapters highlighted in yellow are Java chapters and those in white are Alice 3
chapters.
Preface xxi
Instructor Resources
The instructor resources are available to instructors who adopt this book by logging into
Pearson’s Instructor Resource Center at www.pearsonhighered.com/Dann. If you do not
already have access to the Pearson IRC, contact your Pearson sales representative or visit
www.pearsonhighered.com/educator/replocator.
Student Resources
Student support materials for this book are available at www.alice.org/Alice3ToJava.
Acknowledgments
Alice 3 lives in the heart and soul of the dedicated people in the Alice team. The primary
engineers and architects of the Alice 3 software were Dennis Cosgrove and Dave Culyba.
Dennis contributed to the original Alice and was the lead architect and software engineer
for Alice during the early days of Alice development with Randy Pausch.
Particular thanks go to Sabrina Haskell, professional game designer at Schell Games.
Sabrina contributed to the design thinking used throughout the textbook and specifically
to the game design and structure in the chapters where game examples are used.
A huge thanks to Eric Brown, who assumed the Director position of the Alice Project
upon retirement of Wanda Dann. Eric maintained team focus with the textbook authors to
insure completion of the necessary graphics, manuscript, and software revisions.
We are most grateful to Electronic Arts for their contribution of the Sims 2 artwork to
the Alice 3 Gallery. The 3D models from the Sims 2 artwork is the foundation of the gallery.
An incredible collection of 3D models has been added to Alice 3 to create cultural diversity.
These models were created by an Alice team of character artists and summer interns, under
the leadership and direction of Laura Paoletti. The original design of the 3D models was devel-
oped in consultation with John DeRiggi, Senior Character Artist at Schell Games. We owe
much gratitude to the contributions of Pei Hong, staff character artist, and summer interns
including: Austin Booker, Matthew Kline, Yuan (Dorothy) Sheng, and Gregory Mirles.
Our deep gratitude goes to early testers and users of Alice 3 and this textbook for
their helpful feedback, suggestions, and comments: Stephen Cooper at Stanford University,
William Taylor, Anita Wright, and RoseMary Boiano at Camden County College, Eileen
Wrigley and Don Smith at Allegheny Community College, Tebring Daly at Collin College,
Cristy Charters at Florida International University, and Leslie Spivey at Edison Commu-
nity College. Jeisson Hidalgo-Cespedes, in residence at Carnegie Mellon as a visiting scholar
from the University of Costa Rica, reviewed the first five chapters and prepared many
questions and examples used in these chapters.
Sincere thanks to Tracy Johnson of Pearson for supporting this effort. A huge thank
you to the editorial staff at Pearson who helped bring this textbook to life, particularly
Kristy Alaura, Carole Snyder, Rose Kernan, and Revathi Viswanathan. We gratefully
acknowledge the reviewers of this textbook Tim Gallagher—Winter Springs High School,
Teresa Elmore—Libertyville High School Saquib Razak—Carnegie Mellon University
Qatar, Anita Wright Camden County College, Leslie Spivey—Edison Community College,
Laine Agee—White Station High School, William Taylor—Camden County College.
Preface xxiii
This material is based upon work partially supported by the National Science Foun-
dation under Grant Numbers 0894104 and 0903271. Any opinions, findings, conclusions,
or recommendations expressed in this material are those of the authors and do not neces-
sarily reflect the views of the National Science Foundation.
We are most grateful for funding to support the development of Alice 3 with a transi-
tion to Java and faculty development workshops. Over the last decade, this funding has
been provided by: Oracle, the Sun Microsystems Foundation, Electronic Arts, Hyperion,
Google, the Payne Family Foundation, the Hearst Foundation, and the National Science
Foundation.
Wanda Dann
Don Slater
Laura Paoletti
Dave Culyba
Notes to the Student
This book is all about learning to write a computer program. Taking a programming course
can be challenging and time consuming. In fact, there are times when it can be downright
frustrating. As authors and educators, we want to stand up and say there is a better way to
learn real computer programming. This book is designed to introduce programming in a
creative context. We want to make it more engaging and less complicated, but still cover all
the essential concepts expected in an introductory programming course curriculum.
In this book, you will step into the world of creating 3D animations. Each chapter
presents the concepts of programming with hands-on examples that illustrate creating a
short animation or game for Lawrence Prenderghast’s Haunted Circus, an original story writ-
ten by Laura Paoletti. In the example animation and gaming projects, you will be bringing
the story to life by creating programs that illustrate portions of the and games presented in
the chapters and exercises. Alice was originally developed as a tool for creating prototype
animations for use with head-mounted devices in virtual reality research. Alice is similar
to professional software tools used by animators in animation and gaming studios (Pixar,
Disney, DreamWorks, Nickelodeon, Electronic Arts, and many others). In animation and
gaming studios, a project team is often composed of artists, animators, designers, and pro-
grammers who work together to create short animated segments that evolve and are com-
bined into the final product. Likewise, your instructor may ask you to work on a project
with a team.
Depending on your goals, you may also transfer your work from Alice to Java. Java is
a production-level programming language used by professionals to create real-world soft-
ware applications. For example, Alice itself is written in Java. The Java chapters in this
book provide examples that apply the concepts learned in Alice to write code in Java. This
experience is most helpful to students who plan to continue developing their programming
skills by taking an AP Computer Science or CS1 (or CS 101) college or university-level pro-
gramming course.
Supplementary materials for this textbook are at www.alice.org/Alice3ToJava.
xxv
Exploring the Variety of Random
Documents with Different Content
COLLECTION GRAND IN-18 JÉSUS
à 3 fr. 50 le volume
EN VENTE :
1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside
the United States, check the laws of your country in addition to
the terms of this agreement before downloading, copying,
displaying, performing, distributing or creating derivative works
based on this work or any other Project Gutenberg™ work. The
Foundation makes no representations concerning the copyright
status of any work in any country other than the United States.
1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if
you provide access to or distribute copies of a Project
Gutenberg™ work in a format other than “Plain Vanilla ASCII” or
other format used in the official version posted on the official
Project Gutenberg™ website (www.gutenberg.org), you must,
at no additional cost, fee or expense to the user, provide a copy,
a means of exporting a copy, or a means of obtaining a copy
upon request, of the work in its original “Plain Vanilla ASCII” or
other form. Any alternate format must include the full Project
Gutenberg™ License as specified in paragraph 1.E.1.
• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”
• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.
1.F.
Most people start at our website which has the main PG search
facility: www.gutenberg.org.