Learning to Program with Alice, 3rd edition

Published by Pearson (February 25, 2011) © 2012

  • Wanda P Dann Carnegie Melon Unviersity
  • Randy Pausch
$111.99

  • Hardcover, paperback or looseleaf edition
  • Affordable rental option for select titles
  • Free shipping on looseleafs and traditional textbooks

Appropriate for all one-semester pre-CS1 and computer literacy courses, and for integration into the first weeks of many introductory CS1 courses.

Alice was designed to make programming concepts easier to teach and learn. In the Third Edition of Learning to Program with Alice, Alice's creators offer a complete full-color introduction to the interactive Alice programming environment. The authors make extensive use of program visualization to establish an easy, intuitive relationship between program constructs and the 3D graphics animation action in Alice. Students discover how Alice blends traditional problem-solving techniques with Hollywood-style storyboarding. Fundamental object-oriented programming concepts and language syntax are taught independently. Programming concepts can be taught from either an objects-first or an objects-early approach, with an optional early introduction to events. The book's Java-like syntax allows students to view their program code, simplifying their transitions to Java, C++, C#, or other object-oriented languages. This new edition includes over 60% revised exercises and a "sneak peek" at Alice 3.0.

Easy, welcoming, approach to programming – Teaches programming using Alice, an innovative programming environment designed to simplify key concepts and welcome non-programmers. With 3D graphics and a user-friendly drag-and-drop interface, Alice has been proven to help computer science departments improve student motivation and reduce attrition, especially amongst underrepresented groups. Using Alice and this book, far more students can successfully take the first step towards a career in software development.

Visual movie-style storyboarding simplifies program design – Demystifies complicated program design concepts by making program design completely visual, and providing instant visual feedback on the program changes that students make.

Fun, accessible, visual environment – Provides a 3D graphics-based, drag-and-drop programming environment that’s easy for novices to use, and rewards students immediately through visual animations they can instantly see and understand.

Separation of object-oriented concepts and program syntax – Enables instructors to teach objects and syntax separately, to choose among objects-first and objects-early approaches, and to teach events early if they wish.

Broad coverage of object-oriented, event-driven, and advanced programming concepts – Introduces students to a broad cross-section of the concepts and techniques contemporary programmers need to master, including classes, objects, methods, parameters, events, functions, control statements, list processing, inheritance, and more.

Focus on elegance, algorithmic thinking, and abstraction – Helps students quickly understand how successful programmers need to think.

Exercises and projects in every chapter – Includes comprehensive hands-on opportunities for students to test their knowledge and gain confidence in their abilities.

Support for easy 3D animation uploads via YouTube — Easy animation uploading is a powerful motivator to students, who can now show off their work on the Web. Coverage of camera controls, both during scene set-up and during run time of the animation.

Collection of Alice 3D “example worlds” on CD-ROM — Students can load an example world and enter their own code to make it work.

Extensive Instructor Materials Available - Access syllabi/calendars, lectures, labs, assignments, sample worlds, sample exams, sample projects, online support forums, and more.

1. Corrects errata from the second edition.
2. Replaces burning building example in Chapter 5 with lighting effects example. 3. Replaces fly-collision example in Chapter 6 with guessing-game example.
4. Adds new exercises and projects in Chapters 1, 3, 5, 6, 7, 9, and 10, particularly with more games. 5. Adds new Tips & Techniques on using groups in an Object Tree (see Chapter 9).
6. Updates Alice 2.2 with example worlds on DVD. Prevents name collisions of objects in a group. 7. Provides updates to Appendix B regarding exporting files and videos.
8. Adds Section 11.2, introducing Alice 3 beta.

Foreword xi

Preface xiii

Acknowledgments xxi

About the Authors xxiii

 

Part I: Introduction to Alice 1

 

1 Getting Started with Alice 3

1-1 Introduction to Alice 3

1-2 Alice Concepts 8

  Tips & Techniques 1: Special Effects: Text and 2D Graphic Images 15

  Summary 18

  Exercises 19

2 Program Design and Implementation 22

2-1 Scenarios and Storyboards 22

2-2 A First Program 29

  Tips & Techniques 2: Orientation and Movement Instructions 43

  Summary 57

  Exercises 59

3 Programming: Putting Together the Pieces 62

3-1 Built-in Functions and Expressions 63

3-2 Simple Control Structures 68

  Tips & Techniques 3: Camera and Animation Controls 76

  Summary 81

  Exercises 83

 

Part II: Object-Oriented and Event-Driven Programming

Concepts 87

 

4 Classes, Objects, Methods and Parameters 89

4-1 World-Level Methods 91

4-2 Parameters 100

4-3 Object-Level Methods and Inheritance 110

  Tips & Techniques 4: Visible and Invisible Objects 121

  Summary 127

  Exercises and Projects 129

5 Interaction: Events and Event Handling 140

5-1 Interactive Programming 140

5-2 Parameters and Event Handling Methods 147

  Tips & Techniques 5: Creating Your Own People Models 156

  Summary 158

  Exercises and Projects 159

 

Part III: Using Functions and Control Statements 171

 

6 Functions and If/Else 173

6-1 Functions 173

6-2 Execution Control with If/Else and Boolean Functions 180

  Tips & Techniques 6: Random Numbers and Random Motion 196

  Summary 199

  Exercises and Projects 201

7 Repetition: Definite and Conditional Loops 213

7-1 Loops 213

7-2 While—a Conditional Loop 219

  Tips & Techniques 7: Events and Repetition 225

  Summary 228

  Exercises and Projects 229

8 Repetition: Recursion 239

8-1 Introduction to Recursion 239

8-2 Another Flavor of Recursion 244

  Tips & Techniques 8: Engineering Look and Feel 254

  Summary 257

  Exercises and Projects 258

 

Part IV: Advanced Topics 265

 

9 Lists and List Processing 267

9-1 Lists 267

9-2 List Search 273

  Tips & Techniques 9: Groups 277

  Summary 279

  Exercises and Projects 280

10 Variables and Revisiting Inheritance 289

10-1 Variables 289

10-2 An Array Visualization Using an Index Variable 300

  Tips & Techniques 10: Debugging with Watch and Text Output 308

  Summary 312

  Exercises and Projects 313

11 What’s Next? 322

11-1 Transition to Java 322

11-2 Alice 3 327

  Tips & Techniques 11: Poses 328

 

Appendix A: Using Alice 331

Part 1: Running Virtual Worlds in Alice 331

Part 2: Using Popup Menus to Create an Initial Scene 345

Appendix B: Managing the Alice Interface 350

 

Index 363

Wanda Dann is the Director of the Alice Project and Associate Teaching Professor of Computer Science at Carnegie Mellon University. Her research has encompassed program visualization and object-oriented and event-driven programming. She has published papers on the use of program visualization in computer science education for SIGCSE, the Computer Science Education Journal, and related publications. She has been co-PI for three NSF-funded projects. She is an active member of the ITiCSE Visualization Working Group, studying the effectiveness of visualization in computer science education. She has taken on a major leadership role in the international computer science education community, serving as SIGCSE 2004 Program co-Chair and SIGCSE 2005 Symposium co-Chair.
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.

¿

Randy Pausch was a Professor of Computer Science, Human-Computer Interaction and Design at Carnegie Mellon, and co-founder of the Entertainment Technology Center. He also served as the Director of Carnegie Mellon's Alice research group, where he oversaw the development of Alice. He was a National Science Foundation Presidential Young Investigator and a Lilly Foundation Teaching Fellow. In 1995, he spent a Sabbatical with the Walt Disney Imagineering Virtual Reality Studio and consulted with Imagineering on interactive theme park attractions, particularly for the "DisneyQuest" virtual-reality based theme park. Dr. Pausch authored or co-authored five books and over 60 reviewed journal and conference proceedings articles, and his primary interests were human-computer interaction, entertainment technology and undergraduate education.

Need help? Get in touch

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.