Learning to Program with Alice
Wanda P. Dann, Carnegie Mellon University
Stephen Cooper, St. Joseph's University
Randy Pausch, Carnegie Mellon University

ISBN-10: 0131872893
ISBN-13: 9780131872899

Publisher: Prentice Hall
Copyright: 2006
Format: Paper; 375 pp
Published: 07/15/2005

Suggested retail price: $62.00
Not available for purchase at this time.

For courses in C++ - Intro to Programming/CS1, Java - Intro to Programming/CS1, and Introduction to Computer Science.

 

Today's CS1 instructors must contend with an increased curriculum load, due to a switch from imperative languages to object-oriented languages such as C++ or Java — as well as students with little or no programming experience who are at high risk of dropping the CS major. Recognizing that fact, this text supports an innovative approach to teaching and learning fundamental programming concepts. The authors use program visualization to create an easy relationship between program construct and the animation action in a 3D world. Pedagogical goals include a fundamental introduction to programming with objects, methods, decision statements, loops, recursion, and problem solving.

Supports either an objects-first or an objects-early approach, with an optional early introduction to events - Enables professors to select a sequence of chapters to suit his/her curriculum demands.

 

Object-oriented programming concepts are introduced in the context of complete working animation programs - Shows students how their animated programs run.

 

The concept of an "object" is made visible and tangible in a 3-D world that is compelling to students - Makes the concept of an object more intuitive; makes properties (data) and actions (methods) easier to teach.

 

A "Java-like" syntax switch - Allows students to view their program code with a syntax that is very close to actual Java code, easing a transition to Java or other languages.

 

"Tips & Techniques" at the end of each chapter - Covers animation in Alice, laying the groundwork for using these techniques in programming examples.

 

Mouse-based editor provided - Ensures that beginning programmers cannot make syntax mistakes, and the environment helps students learn the underlying syntax rules.

 

Animated programs can be viewed on a web page - Allows students to show off their work to peers, friends, family; a strong motivation factor.

Final release is in full color.

• Major updates from beta to final version:

- For consistency with Java, C++, and other commonly used languages, "questions" are now "functions."

- Save and reload bugs have been fixed.

- Fonts can be scaled larger or smaller.

- High contrast mode is available for projection in the classroom

- A much larger local gallery is now loaded with Alice. (The CD with the textbook contains the complete gallery, so Internet access for downloading 3D models is no longer required.)

A robot walking simulation as the first world example in chapters 2, 3, and 4 - A relevant application for engineering curricula and students.

A timer example added to chapter 10 (on variables) - Helps in student projects where timing and scorekeeping is a desirable element in simulations and games.

Flexible coverage of variables - Can be covered anytime after chapter 4 (assuming chapters 2, 3, and 4 have been covered).

Animation and Special Effects table on the inside front cover - References topics like "asSeenBy," fog, camera motion, and more.

"How to..." Table on the inside back cover - Aids in looking up topics like "how to print code," "how to get more than 1 clipboard," how to put an animation on a web page," and more.

CD with the textbook - Contains a complete set of example worlds used in the text, with the initial world set up minus code.

- Instructors can ask students to follow the example in the text and enter code to make the world work, using the text like a lab manual.

Equation editor for complex math operations and a Mac version are forthcoming from the Alice team.

Table of Contents           iii

Preface to the Instructor      

Part I: Introduction to Alice                   

1 Getting Started with Alice               

    1-1 Introduction to Alice      

1-2 Alice Concepts   

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

2 Program Design and Implementation                      

2-1 Scenarios and Storyboards                  

2-2 A First Program   

Exercises 

Summary 

3 Programming: Putting Together the Pieces           

3-1 Built-in Functions and Expressions                  

3-2 Simple Control Structures

Tips & Techniques 3: Engineering Look and Feel          

Exercises 

Summary 

Part II: Object-oriented and Event-driven Programming Concepts         

4 Classes, Objects, Methods, and Parameters   

4-1 World-level Methods 

4-2 Parameters                  

4-3 Class-level Methods and Inheritance                  

Tips & Techniques 4: Visible and Invisible Objects  

Exercises and Projects                

Summary 123

5 Interaction: Events and Event Handling                    

5-1 Interactive Programming             

5-2 Passing Parameters to Event Handling Methods

Tips & Techniques 5: Events

Exercises and Projects                

Summary

Part III: Using Functions and Control Statements    

6 Functions  and If/Else 

6-1 Functions                

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

Tips & Techniques 6: Random Numbers and Random Motion  

Exercises and Projects                

Summary 190

7 Repetition: Definite and Indefinite Loops         

7-1 Loops                

7-2 While – An Indefinite Loop      

Tips & Techniques 7: Events and Repetition                

Exercises and Projects                

Summary

8 Repetition:  Recursion  

8-1 Introduction to Recursion                

8-2 Another Flavor of Recursion                

Tips & Techniques 8: Camera and Animation Controls

Exercises and Projects                

Summary

Part IV: Advanced Topics                        

9 Lists and List Processing 

9-1 Lists 

9-2 List Search    

Tips & Techniques 9: Poses 

Exercises and Projects                

Summary

10 Variables and Revisiting Inheritance

10 -1 Variables

10-2 An Array Visualization Using an Index Variable 

Exercises and Projects                

Summary

11 What’s Next?          

Appendix      

Appendix A: Using Alice

Part 1: Running virtual worlds in Alice      

Part 2: Using Popup Menus to Create an Initial Scene                

Appendix B: Managing the Alice Interface                    

Index             

 

  • 013208516XLearning To Program with Alice, 2/E
    Dann, Cooper & Pausch
    © 2009 | Prentice Hall | Paper; 384 pages | Instock
    ISBN-10: 013208516X | ISBN-13: 9780132085168
    Brief Description | Buy from myPearsonStore

Wanda Dann is Associate 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 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 is a Professor of Computer Science, Human-Computer Interaction, and Design at Carnegie Mellon, where he is the co-director of CMU’s Entertainment Technology Center (ETC).  He was a National Science Foundation Presidential Young Investigator and a Lilly Foundation Teaching Fellow. He has done Sabbaticals at Walt Disney Imagineering  (WDI) and Electronic Arts (EA), and has consulted with Disney on user interfaces for interactive theme park attractions and with Google on user interface design. Dr. Pausch is the author or co-author of five books and over 70 articles, is the director of the Alice software project, and has been in zero gravity.

View a Sample Chapter PDF:

  • Instructor's Website
    Dann, Cooper & Pausch
    © 2006 | Prentice Hall | On-line Supplement | Instock
    ISBN-10: 0132272180 | ISBN-13: 9780132272186
    View Downloadable Files

Give your students a choice! PearsonChoices products are designed to give your students more value and flexibility by letting them choose from a variety of text and media formats to best match their learning style and their budget.

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, see the Packages tab.

  • 0131877216Learning to Program with Alice, CourseSmart eTextbook
    Dann, Cooper & Pausch
    © 2006 | Prentice Hall | On-line Supplement; 375 pages | Instock
    ISBN-10: 0131877216 | ISBN-13: 9780131877214
    URL: http://www.coursesmart.com
    Brief Description | Buy from myPearsonStore
  • 0136095666Learning to Program with Alice, eTextbook
    Dann, Cooper & Pausch
    © 2006 | Prentice Hall | Vital Source; 375 pages | Estimated Availability: 07/01/2005
    ISBN-10: 0136095666 | ISBN-13: 9780136095668

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.


Copyright ©2008 Pearson Education. All rights reserved. Legal Notice | Privacy Policy | Permissions