
Learning to Program with Alice
Pearson (Publisher)
Published on 19. July 2005
Book
Mixed media product
375 pages
978-0-13-187289-9 (ISBN)
Article exhausted; check for reprint
Description
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.
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.
More details
Language
English
Place of publication
United States
Publishing group
Pearson Education (US)
Target group
College/higher education
Dimensions
Width: 255 mm
Thickness: 14 mm
Weight
624 gr
ISBN-13
978-0-13-187289-9 (9780131872899)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
New editions

Book
12/2008
2nd Edition
Pearson
€65.68
Article exhausted; check for reprint
Persons
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.
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.
Content
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
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