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.
Table of Contents
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