did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780471138099

Karel++ A Gentle Introduction to the Art of Object-Oriented Programming

by ; ; ;
  • ISBN13:

    9780471138099

  • ISBN10:

    0471138096

  • Edition: 1st
  • Format: Paperback
  • Copyright: 1996-10-16
  • Publisher: Wiley

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $83.14 Save up to $20.78
  • Buy Used
    $62.36
    Add to Cart Free Shipping Icon Free Shipping

    USUALLY SHIPS IN 2-4 BUSINESS DAYS

Supplemental Materials

What is included with this book?

Summary

This creative approach to learning C++ programming introduces readers to Karel the Robot and then shows them how to design programs that instruct Karel to perform complex tasks. Karel's world is essentially a practice field on which readers learn valuable lessons about creating and debugging program. The programs instruct the robot to move and manipulate its environment using object orientation.

Author Biography

Joseph Bergin is a retired professor of Computer Science. He championed the teaching of modern programming paradigms, especially Object-Oriented programming, throughout his long career. Mark Stehlik is the author of Karel++: A Gentle Introduction to the Art of Object-Oriented Programming, published by Wiley.

Table of Contents

Chapter 1 The Robot World
1(6)
1.1 The Robot World
1(2)
1.2 Robot Capabilities
3(1)
1.3 Tasks and Situations
4(1)
1.4 Problem Set
5(2)
Chapter 2 Primitive Instructions and Simple Programs
7(18)
2.1 Changing Position
7(1)
2.2 Turning in Place
8(1)
2.3 Finishing a Task
9(1)
2.4 Handling Beepers
9(1)
2.5 Robot Descriptions
10(1)
2.6 A Complete Program
11(5)
2.6.1 Executing a Program
12(2)
2.6.2 The Form of Robot Programs
14(2)
2.7 Error Shutoffs
16(1)
2.8 Programming Errors
16(3)
2.8.1 Bugs and Debugging
19(1)
2.9 Problem Set
19(6)
Chapter 3 Extending the Robot Programming Language
25(44)
3.1 Creating a More Natural Programming Language
25(1)
3.2 A Mechanism That Defines New Classes of Robots
26(1)
3.3 Defining the New Instructions
27(3)
3.4 The Meaning and Correctness of New Instructions
30(1)
3.5 Defining New Instructions in a Program
31(4)
3.6 Modifying Inherited Instructions
35(1)
3.7 An Ungrammatical Program
36(1)
3.8 Tools for Designing and Writing Robot Programs
37(10)
3.8.1 Stepwise Refinement--A Technique for Planning, Implementing, and Analyzing Robot Programs
38(3)
3.8.2 The Second Step--Planning harvestTwoRows and positionForNextHarvest
41(2)
3.8.3 The Third Step--Planning harvestOneRow and goToNextRow
43(2)
3.8.4 The Final Step--Verifying That the Complete Program Is Correct
45(2)
3.9 Advantages of Using New Instructions
47(6)
3.9.1 Avoiding Errors
49(1)
3.9.2 Future Modifications
50(2)
3.9.3 A Program Without New Instructions
52(1)
3.10 Writing Understandable Programs
53(2)
3.11 Robot Teams
55(3)
3.12 Object-Oriented Design
58(3)
3.13 Problem Set
61(8)
Chapter 4 Conditionally Executing Instructions
69(32)
4.1 The IF Instruction
69(2)
4.2 The Conditions That Robots Can Test
71(3)
4.2.1 Writing New Predicates
73(1)
4.3 Simple Examples of the IF Instruction
74(6)
4.3.1 The harvestOneRow Instruction
74(2)
4.3.2 The faceNorthIfFacingSouth Instruction
76(1)
4.3.3 The faceNorth Instruction
77(2)
4.3.4 Determining the Correctness of the IF Instruction
79(1)
4.4 The IF/ELSE Instruction
80(2)
4.5 Nested IF Instructions
82(4)
4.6 More Complex Tests
86(3)
4.7 When to Use an IF Instruction
89(1)
4.8 Transformations for Simplifying IF Instructions
90(4)
4.9 Problem Set
94(7)
Chapter 5 Instructions That Repeat
101(46)
5.1 The LOOP Instruction
101(2)
5.2 The WHILE Instruction
103(6)
5.2.1 Why WHILE Is Needed
103(1)
5.2.2 The Form of the WHILE Instruction
104(2)
5.2.3 Building a WHILE Loop--The Four-Step Process
106(1)
5.2.4 A More Interesting Problem
107(2)
5.3 Errors to Avoid with WHILE Loops
109(4)
5.3.1 The Fence Post Problem
109(2)
5.3.2 Infinite Execution
111(1)
5.3.3 When the Test of a WHILE is Checked
112(1)
5.4 Nested WHILE Loops
113(8)
5.4.1 A Good Example of Nesting
113(3)
5.4.2 A Bad Example of Nesting
116(5)
5.5 WHILE and IF Instructions
121(1)
5.6 Reasoning About Loops
122(4)
5.7 A Large Program Written by Stepwise Refinement
126(6)
5.8 When to Use a Repeating Instruction
132(2)
5.9 Problem Set
134(13)
Chapter 6 Advanced Techniques for Robots
147(30)
6.1 Introduction to Recursion
147(3)
6.2 More on Recursion
150(3)
6.3 Tail Recursion and Looping
153(2)
6.4 Going Formal
155(1)
6.5 Searching
156(5)
6.6 Doing Arithmetic
161(5)
6.7 Polymorphism--Why Write Many Programs When One Will Do?
166(3)
6.8 Conclusion
169(1)
6.9 Hierarchy of Known Classes
170(1)
6.10 Problem Set
171(6)
Appendix A Robot Programming Summary 177(4)
Appendix B Differences Between Karel++ and C++ 181(2)
Appendix C Differences Between Karel++ and Java 183

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program