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.

9780136037538

Introduction to Programming with Greenfoot Object-Oriented Programming in Java with Games and Simulations

by
  • ISBN13:

    9780136037538

  • ISBN10:

    0136037534

  • Edition: 1st
  • Format: Paperback
  • Copyright: 2009-08-11
  • Publisher: Pearson
  • View Upgraded Edition

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

Purchase Benefits

List Price: $114.60 Save up to $42.01
  • Buy Used
    $85.95
    Add to Cart Free Shipping Icon Free Shipping

    USUALLY SHIPS IN 2-4 BUSINESS DAYS

Supplemental Materials

What is included with this book?

Summary

Programming doesn't have to be dry and boring. This book teaches programming in an interactive and engaging way that is technically relevant and highly motivational. Using the Greenfoot environment, and an extensive collection of compelling example projects, readers are given a unique, graphical framework in which to learn programming. Greenfoot--an award-winning educational programming environment that uses simulations and games to teach programming skills--is closely integrated into the text, with numerous screenshots and tips, making the book ideal for both instructor-led and independent learning.

The projects discussed in this book are easy enough that high school students can manage them, but they are also open and extendable enough that even seasoned programmers can find interesting and challenging aspects to do.

Getting to know Greenfoot: Objects and classes; Interacting with objects; Return types; Parameters; Greenfoot execution; Source code. Simple Programming: Making an object move; Turning; Dealing with screen edges.

More sophisticated programming--games: Adding random behavior; Creating new methods; Adding new objects; Keyboard control; Ending the game; Adding sound; Adding objects automatically; Creating new objects; Animating images; Greenfoot images; Instance variables (fields); Using actor constructors; Alternating the images; The if/else statement. Sharing your scenarios: Exporting your scenario; Export to application; Export to a web page; Publishing on the Greenfoot Gallery.

Making music: An on-screen piano: Animating the key; Producing the sound; Abstraction: Creating multiple keys; Building the piano; Using loops: the while loop: Using arrays. Interacting objects: Newtons Lab: The starting point: Newtons Lab; Helper classes: Smooth Mover and Vector; The existing Body class; First extension: Creating movement; Using Java library classes; Adding gravitational force; The List type; The for-each loop; Applying gravity; Trying it out; Gravity and music.

Collision detection: Asteroids: Investigation: What is there'; Painting stars; Turning; Flying forward; Colliding with asteroids; Casting; Adding fire power: the proton wave; Growing the wave; Interacting with objects in range; Further development. Creating images and sound: Preparation; Working with sound; Sound recording and editing; Sound file formats and file sizes; Working with images; Image files and file formats; Drawing images; Combining images files and dynamic drawing. Simulations. Additional scenario ideas: Marbles; Lifts; Boids; Circles; Explosion; Breakout; Platform jumper; Wave.

MARKET: For anyone looking for an engaging and accessible way to learn Java programming.

Author Biography

Michael Kölling is a professor at the Computing Laboratory, University of Kent, in Canterbury, UK. He holds a PhD in computer science from Sydney University, and has worked in Australia, Denmark and the UK. Michael’s research interests are in the areas of object-oriented systems, programming languages, software tools, computing education and HCI. He has published numerous papers on object-orientation and computing education topics and is co-author of a Java textbook (Objects First with Java, Pearson Education, 2008.(ISBN 0-13-606086-2). Michael is one of the developers of BlueJ, an educational programming environment, and more recently, the Greenfoot platform. The Higher Education Academy elected Michael as a National Teaching Fellow in 2008.

Table of Contents

Introduction 1

 

Chapter 1 Getting to know Greenfoot 3

1.1 Getting started 3

1.2 Objects and classes 4

1.3 Interacting with objects 6

1.4 Return types 7

1.5 Parameters 8

1.6 Greenfoot execution 9

1.7 A second example 10

1.8 Understanding the class diagram 10

1.9 Playing with Asteroids 12

1.10 Source code 13

1.11 Summary 15

 

Chapter 2 The first program: Little Crab 16

2.1 The Little Crab scenario 16

2.2 Making the crab move 18

2.3 Turning 19

2.4 Dealing with screen edges 21

2.5 Summary of programming techniques 25

 

Chapter 3 Improving the Crab–more sophisticated programming 27

3.1 Adding random behavior 27

3.2 Adding worms 30

3.3 Eating worms 32

3.4 Creating new methods 33

3.5 Adding a Lobster 36

3.6 Keyboard control 36

3.7 Ending the game 38

3.8 Adding sound 40

3.9 Summary of programming techniques 42

 

Chapter 4 Finishing the crab game 43

4.1 Adding objects automatically 43

4.2 Creating new objects 45

4.3 Animating images 46

4.4 Greenfoot images 47

4.5 Instance variables (fields) 48

4.6 Assignment 49

4.7 Using actor constructors 50

4.8 Alternating the images 52

4.9 The if/else statement 53

4.10 Counting worms 53

4.11 More ideas 55

4.12 Summary of programming techniques 56

 

Interlude 1 Sharing your scenarios 57

I1.1 Exporting your scenario 57

I1.2 Export to application 57

I1.3 Export to a web page 58

I1.4 Publishing on the Greenfoot Gallery 59

 

Chapter 5 Making music: An on-screen piano 61

5.1 Animating the key 62

5.2 Producing the sound 65

5.3 Abstraction: Creating multiple keys 66

5.4 Building the piano 68

5.5 Using loops: The while loop 69

5.6 Using arrays 72

5.7 Summary of programming techniques 76

 

Chapter 6 Interacting objects: Newton’s Lab 78

6.1 The starting point: Newton’s Lab 79

6.2 Helper classes: SmoothMover and Vector 80

6.3 The existing Body class 83

6.4 First extension: Creating movement 85

6.5 Using Java library classes 86

6.6 Adding gravitational force 87

6.7 The List type 90

6.8 The for-each loop 91

6.9 Applying gravity 93

6.10 Trying it out 95

6.11 Gravity and music 97

6.12 Summary of programming techniques 99

 

Chapter 7 Collision detection: Asteroids 101

7.1 Investigation: What is there? 102

7.2 Painting stars 103

7.3 Turning 106

7.4 Flying forward 107

7.5 Colliding with asteroids 109

7.6 Casting 112

7.7 Adding fire power: The proton wave 115

7.8 Growing the wave 115

7.9 Interacting with objects in range 119

7.10 Further development 121

7.11 Summary of programming techniques 122

 

Interlude 2 The Greeps competition 123

I2.1 How to get started 124

I2.2 Programming your Greeps 125

I2.3 Running the competition 126

I2.4 Technicalities 126

 

Chapter 8 Creating images and sound 127

8.1 Preparation 127

8.2 Working with sound 129

8.3 Sound recording and editing 130

8.4 Sound file formats and file sizes 131

8.5 Working with images 133

8.6 Image files and file formats 133

8.7 Drawing images 135

8.8 Combining images files and dynamic drawing 137

8.9 Summary 139

 

Chapter 9 Simulations 141

9.1 Foxes and rabbits 142

9.2 Ants 145

9.3 Collecting food 146

9.4 Setting up the world 149

9.5 Adding pheromones 149

9.6 Path forming 152

9.7 Summary 152

 

Chapter 10 Additional scenario ideas 154

10.1 Marbles 154

10.2 Lifts 155

10.3 Boids 156

10.4 Circles 157

10.5 Explosion 158

10.6 Breakout 159

10.7 Platform jumper 160

10.8 Wave 161

10.9 Summary 162

 

Appendix

A Installing Greenfoot 163

B Greenfoot API 165

C Collision detection 169

D Some Java details 175

 

Index 185 

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