Home > Store

Introduction to Programming with Greenfoot

Register your product to gain access to bonus material or receive a coupon.

Introduction to Programming with Greenfoot

Safari PTG

  • Your Price: $49.99
Not for Sale

About

Features

Integrated with Greenfoot

No other author uses Greenfoot to teach programming in the context of a comprehensive textbook. 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. While it is possible to create simple games quickly and easily in Greenfoot, it is equally possible to build highly sophisticated simulations of complex systems, possibly using artificial intelligence algorithms, agent technology, multi-agent networking technology, database connectivity, and more.

Standard Java

The book teaches standard Java, not an artificial educational language. All concepts learned can be directly transferred to any other programming environments students may use when they progress to more advances levels.

Highly motivational examples

Kölling immediately engages students, even those with no prior interest in programming, presenting projects in the form of games (“Little Crab”, “Asteroids”, “Marbles”), simulations (ants, planets), and even music (“Piano”). Students enjoy working on their projects, which makes learning, and teaching, easier.

A spiral approach with a focus on hands-on learning

This book starts with less theory, and more practical activity than most programming books.

Chapters and exercises are structured along real, hands-on development tasks. First, students are presented with a problem to solve, and then they look at language constructs and strategies that will help them solve the problem. The book explains only as much as is necessary to solve the task at hand and concepts are revisited later in other contexts, gradually deepening the student’s understanding.

Integrated exercises

Many exercises are integrated into the text, reinforcing concepts covered in each chapter and encouraging students to become actively involved in their learning through continuous experimenting, critical thinking, and hands-on practice.

Pedagogically sound structure

The sequence of instruction is carefully constructed based on pedagogical principles, not driven by a list of language features. This makes the book easily readable, and logical to follow.

Appropriate for all skill levels

The projects discussed in this book are easy enough that they can be managed by high school students, but they are also open and extendable enough that even seasoned programmers would find them interesting and challenging.

Distinguished author

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.

Description

  • Copyright 2012
  • Edition: 1st
  • Safari PTG
  • ISBN-10: 0-13-277314-7
  • ISBN-13: 978-0-13-277314-0

Introduction to Programming with Greenfoot: Object-Oriented Programming in Java with games and Simulations is ideal for introductory courses in Java Programming or Introduction to Computer Science.

The only textbook to teach Java programming using Greenfoot–this is “Serious Fun.”

Programming doesn’t have to be dry and boring. This book teaches Java programming in an interactive and engaging way that is technically relevant, pedagogically sound, and highly motivational for students. Using the Greenfoot environment, and an extensive collection of compelling example projects, students are given a unique, graphical framework in which to learn programming.


Sample Content

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 

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.