Starting Out with Alice: A Visual Introduction to Programming / Edition 2

Paperback (Print)
Rent
Rent from BN.com
$24.75
(Save 75%)
Est. Return Date: 10/27/2014
Buy New
Buy New from BN.com
$86.97
Buy Used
Buy Used from BN.com
$66.34
(Save 33%)
Item is in good condition but packaging may have signs of shelf wear/aging or torn packaging.
Condition: Used – Good details
Used and New from Other Sellers
Used and New from Other Sellers
from $1.99
Usually ships in 1-2 business days
(Save 97%)
Other sellers (Paperback)
  • All (22) from $1.99   
  • New (7) from $1.99   
  • Used (15) from $1.99   

Overview


Starting Out with Alice: A Visual Introduction to Programming presents a fun and motivational way for novice programmers to learn the basic tenets of programming. Using Alice, an innovative and increasingly popular teaching tool, readers from a variety of backgrounds create virtual programming worlds of animations and computer games. In the successful style of Tony Gaddis’ texts, useful examples and detail-oriented explanations allow students to become comfortable with fundamental concepts of programming without dealing with frustrating syntax errors and complex design techniques. With the knowledge acquired using Alice, students gain confidence in their skills to transition into Java or other programming languages.
Read More Show Less

Product Details

  • ISBN-13: 9780321545879
  • Publisher: Addison-Wesley
  • Publication date: 11/5/2010
  • Series: Gaddis Series
  • Edition description: Older Edition
  • Edition number: 2
  • Pages: 384
  • Sales rank: 924,814
  • Product dimensions: 7.90 (w) x 9.90 (h) x 0.60 (d)

Meet the Author

Tony Gaddis is the author of numerous textbooks, including Starting Out with C++, Starting Out with Java, Starting Out with Visual Basic.NET, and Starting Out with Visual Basic 6. He is a professor at Haywood Community College.
Read More Show Less

Table of Contents

Preface xiii
Chapter 1 Introduction to Alice and Objects 1
1.1 What Is a Computer Program? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1.2 Algorithms and Programming Languages . . . . . . . . . . . . . . . . . . . . . . .2
1.3 Learning to Program with Alice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
TUTORIAL 1-1: Opening and playing an Alice world . . . . . . . . . . . . . . . . . . . . . .6
1.4 Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
1.5 Classes and the Alice Galleries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
TUTORIAL 1-2: Creating a world and adding objects . . . . . . . . . . . . . . . . . . . . .19
1.6 3D Objects and the Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
TUTORIAL 1-3: Moving the camera in 3D space . . . . . . . . . . . . . . . . . . . . . . . .34
TUTORIAL 1-4: Manipulating objects in 3D space . . . . . . . . . . . . . . . . . . . . . . .40
TUTORIAL 1-5: Manipulating subpart objects . . . . . . . . . . . . . . . . . . . . . . . . . .43
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51

Chapter 2 Programming in Alice 57
2.1 Writing Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
TUTORIAL 2-1: Adding instructions to an Alice world . . . . . . . . . . . . . . . . . . . .62
TUTORIAL 2-2: Exploring additional primitive methods . . . . . . . . . . . . . . . . . .67
2.2 Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
2.3 Designing a Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
TUTORIAL 2-3: Using the program design cycle . . . . . . . . . . . . . . . . . . . . . . . . .82
2.4 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
TUTORIAL 2-4: Inserting comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89
2.5 Tips for Setting Up an Initial Scene . . . . . . . . . . . . . . . . . . . . . . . . . . . .90
2.6 Executing Instructions Simultaneously . . . . . . . . . . . . . . . . . . . . . . . . .97
TUTORIAL 2-5: Creating simultaneously executed instructions . . . . . . . . . . . . .98
2.7 Exporting Your Code for Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
2.8 Exporting an Alice World to Video . . . . . . . . . . . . . . . . . . . . . . . . . . .105
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106

Chapter 3 Variables, Functions, Math, and Strings 113
3.1 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113
TUTORIAL 3-1: Creating and using a variable . . . . . . . . . . . . . . . . . . . . . . . . .116
TUTORIAL 3-2: Creating a set instruction for a variable . . . . . . . . . . . . . . . . .118
3.2 Using Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120
TUTORIAL 3-3: Calling an ask user function . . . . . . . . . . . . . . . . . . . . . . . . .122
TUTORIAL 3-4: Using a proximity function . . . . . . . . . . . . . . . . . . . . . . . . . . .127
3.3 Creating Math Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130
TUTORIAL 3-5: Using math to avoid collisions . . . . . . . . . . . . . . . . . . . . . . . .132
3.4 Working with Strings and Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138
TUTORIAL 3-6: Converting a Number variable to a string . . . . . . . . . . . . . . . .141
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .144

Chapter 4 Decision and Repetition Structures 151
4.1 Boolean Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151
4.2 The If/Else Decision Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153
TUTORIAL 4-1: Creating an If/Else instruction . . . . . . . . . . . . . . . . . . . . . . .156
4.3 Relational Comparisons and Logical Operators . . . . . . . . . . . . . . . . . .163
TUTORIAL 4-2: Using a relational operator . . . . . . . . . . . . . . . . . . . . . . . . . . .165
TUTORIAL 4-3: Testing an object’s color property . . . . . . . . . . . . . . . . . . . . . .169
4.4 The Loop Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174
TUTORIAL 4-4: Using the Loop instruction . . . . . . . . . . . . . . . . . . . . . . . . . . .175
4.5 The While Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180
TUTORIAL 4-5: Using a While instruction to make an object vanish . . . . . . . .182
TUTORIAL 4-6: Using the While instruction to move an object . . . . . . . . . . . .186
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189

Chapter 5 Methods, Functions, and More about Variables 195
5.1 Writing Custom Class-Level Methods . . . . . . . . . . . . . . . . . . . . . . . . .195
TUTORIAL 5-1: Creating a class-level method . . . . . . . . . . . . . . . . . . . . . . . . .196
5.2 Saving an Object to a New Class . . . . . . . . . . . . . . . . . . . . . . . . . . . .199
TUTORIAL 5-2: Saving an object to a class . . . . . . . . . . . . . . . . . . . . . . . . . . . .200
5.3 Stepwise Refinement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .203
TUTORIAL 5-3: Completing the WorkOut world . . . . . . . . . . . . . . . . . . . . . . .207
5.4 Passing Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .209
TUTORIAL 5-4: Passing arguments to a method . . . . . . . . . . . . . . . . . . . . . . . .211
5.5 Using Class-Level Variables as Properties . . . . . . . . . . . . . . . . . . . . . . .215
TUTORIAL 5-5: Adding a property to an object . . . . . . . . . . . . . . . . . . . . . . . .217
5.6 Writing Class-Level Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .220
TUTORIAL 5-6: Writing a class-level function . . . . . . . . . . . . . . . . . . . . . . . . .221
5.7 World-Level Methods and Variables . . . . . . . . . . . . . . . . . . . . . . . . . .226
5.8 Using Clipboards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229
5.9 Tips for Visual Effects and Animation . . . . . . . . . . . . . . . . . . . . . . . . .230
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241

Chapter 6 Events 249
6.1 Responding to Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249
6.2 Handling Key Press and Mouse Events . . . . . . . . . . . . . . . . . . . . . . . .253
TUTORIAL 6-1: Handling key press events . . . . . . . . . . . . . . . . . . . . . . . . . . . .254
TUTORIAL 6-2: Handling the while a key is pressed event . . . . . . . . . . .258
TUTORIAL 6-3: Handling a mouse click event . . . . . . . . . . . . . . . . . . . . . . . . .261
6.3 Using Events in Simulations and Games . . . . . . . . . . . . . . . . . . . . . . .264
6.4 Tips for Games and Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . .268
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275

Chapter 7 Lists and Arrays 281
7.1 Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281
TUTORIAL 7-1: Creating a list and using the For all in order and For all together instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .285
TUTORIAL 7-2: More complex list processing . . . . . . . . . . . . . . . . . . . . . . . . .291
TUTORIAL 7-3: Using the Let the mouse move event . . . . . . . .305
7.2 Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .308
TUTORIAL 7-4: Creating an array and a loop that steps through it . . . . . . . . .311
TUTORIAL 7-5: Randomly selecting an array element . . . . . . . . . . . . . . . . . . .317
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319

Chapter 8 Recursion 323
8.1 Introduction to Recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .323
TUTORIAL 8-1: Creating a recursive method . . . . . . . . . . . . . . . . . . . . . . . . . .327
8.2 Problem Solving with Recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . .330
TUTORIAL 8-2: Recursive problem solving in animation . . . . . . . . . . . . . . . . .331
TUTORIAL 8-3: Writing a recursive mathematical function . . . . . . . . . . . . . . .336
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .338
Appendix A Installing Alice 343
Appendix B Answers to Checkpoints 347
Index 355

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)