Wiley.com
Print this page Share
Textbook

Karel The Robot: A Gentle Introduction to the Art of Programming, 2nd Edition

Richard E. Pattis, Jim Roberts (Revised by), Mark Stehlik (Revised by)
ISBN: 978-0-471-59725-4
Paperback
176 pages
July 1994, ©1995
List Price: US $66.95
Government Price: US $49.88
Enter Quantity:   Buy
Karel The Robot: A Gentle Introduction to the Art of Programming, 2nd Edition (0471597252) cover image
This is a Print-on-Demand title. It will be printed specifically to fill your order. Please allow an additional 10-15 days delivery time. The book is not returnable.

Chapter 1. The Robot World 1

1.1. Karel's World 1

1.2. Karel's Capabilities 3

1.3. Tasks and Situations 4

1.4. Problem Set 6

Chapter 2. Primitive Instructions and Simple Programs 7

2.1. Changing Position 7

2.2. Handling Beepers 9

2.3. Finishing a Task 9

2.4. A Complete Program 10

2.5. Error Shutoffs 13

2.6. Programming Errors 14

2.7. Problem Set 19

Chapter 3. Extending Karel's Vocabulary 25

3.1. Creating a More Natural Programming Language 25

3.2. A Mechanism That Defines New Instructions 26

3.3. Block Structuring 27

3.4. The Meaning and Correctness of New Instructions 28

3.5. Defining New Instructions in a Program 29

3.6. Boxing: How Karel Understands a Program 32

3.7. An Ungrammatical Program 34

3.8. Tools for Designing and Writing Karel Programs 35

3.9. Advantages of Using New Instructions 53

3.10. Writing Understandable Programs 57

3.11. Problem Set 59

Chapter 4. Conditionally Executing Instructions 65

4.1. The IF/THEN Instruction 65

4.2. The Conditions Karel Can Test 66

4.3. Simple Examples of the IF/THEN Instruction 67

4.4. The IF/THEN/ELSE Instruction 74

4.5. Nested IF Instructions 76

4.6. More Complex Tests 79

4.7. When to Use an IF Instruction 80

4.8. Transformations for Simplifying IF Instructions 81

4.9. The Dangling ELSE 84

4.10. Problem Set 87

Chapter 5. Instructions That Repeat 93

5.1. The ITERATE Instruction 93

5.2. The WHILE Instruction 95

5.3. Errors to Avoid with WHILE Loops 100

5.4. Nested WHILE Loops 104

5.5. WHILE and IF Instructions 112

5.6. Reasoning About Loops 112

5.7. A Large Program Written by Stepwise Refinement 116

5.8. When to Use a Repeating Instruction 126

5.9. Problem Set 128

Chapter 6. Advanced Techniques for Karel 141

6.1. Recursion 141

6.2. Searching 145

6.3. Doing Arithmetic 149

6.4. Problem Set 152

Appendix 155

Technical Term Index 157

Instruction Index 159

Back to Top