Problem Solving with Data Structures Using Java - Mark J. Guzdial, Barbara Ericson

Problem Solving with Data Structures Using Java

A Multimedia Approach: International Edition
Buch | Softcover
512 Seiten
2010
Pearson (Verlag)
978-0-13-137708-0 (ISBN)
71,60 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Problem Solving with Data Structures, First Edition is not a traditional data structures textbook that teaches concepts in an abstract, and often dry, context that focuses on data structures using numbers. Instead, this book takes a more creative approach that uses media and simulations (specifically, trees and linked lists of images and music), to make concepts more concrete, more relatable, and therefore much more motivating for students.

 

This book is appropriate for both majors and non-majors.  It provides an introduction to object-oriented programming in Java, arrays, linked lists, trees, stacks, queues, lists, maps, and heaps.  It also covers an existing simulation package (Greenfoot) and how to create continuous and discrete event simulations.

<>Barbara Ericson is a research scientist and the Director of Computing Outreach for the College of Computing at Georgia Tech. She has been working on improving introductory computing education for over 5 years. She enjoys the diversity of the types of problems she has worked on over the years in computing including computer graphics, artificial intelligence, medicine, and object-oriented programming.   Mark Guzdial is a Professor in the School of Interactive Computing at Georgia Tech.  An award-winning teacher and active researcher in computing education, he holds a joint Ph.D. In Education and Computer Science from the University of Michigan. Dr. Guzdial directs Project “Georgia Computes!” which is an NSF funded alliance to improve computing education from pre-teen years to undergraduates.  He is a member of the ACM Education Board and is a frequent contributor to the ACM SIGCSE (Computer Science Education) Symposium.   Barbara Ericson and Mark Guzdial, are recipients of the 2010 Karl V. Karlstom Outstanding Educator Award for their contributions to broadening participation in computing. They created the Media Computation (MediaComp) approach, which motivates students to write programs that manipulate and create digital media, such as pictures, sounds, and videos. Now in use in nearly 200 schools around the world, this contextualized approach to introductory Computer Science attracts students not motivated by classical algorithmic problems addressed in traditional computer science education. They also lead “Georgia Computes!” an NSF-funded statewide alliance to increase the number and diversity of students in computing education across all of Georgia.  Barbara Ericson directs the Institute for Computing Education at Georgia Tech. Mark Guzdial is director of the Contextualized Support for Learning at Georgia Tech.  Together they have written three textbooks using the MediaComp approach to engage and inspire student learning in computing. The Karlstrom Award recognizes educators who advanced new teaching methodologies; effected new curriculum development in Computer Science and Engineering; or contributed to ACM’s educational mission.

Contents iii

 

I Introduction to Java: Object-Oriented Programming for Modeling a World    



 

1 Objects for Modeling a World   

    1.1 Making Representations of a World

    1.2 Why Java?

 

2 Introduction to Java      

    2.1 What’s Java about?

    2.2 Basic (Syntax) Rules of Java

    2.3 Using Java to Model the World

    2.4 Manipulating Pictures in Java

    2.5 Exploring Sound in Java

    2.6 Exploring Music in Java

 

3 Methods in Java: Manipulating Pictures    

    3.1 Reviewing Java Basics

    3.2 Java is about Classes and Methods

    3.3 Methods that return something: Compositing images

    3.4 Creating classes that do something

 

4 Objects as Agents: Manipulating Turtles      

    4.1 Turtles: An Early Computational Object

    4.2 Drawing with Turtles

    4.3 Creating animations with turtles and frames

    4.4 Making a Slow Moving Turtle with sleep and exceptions

 

5 Arrays: A Static Data Structure for Sounds    

    5.1 Manipulating Sampled Sounds

    5.2 Inserting and Deleting in an Array

    5.3 How Slow Does It Get?

 

II Introducing Linked Lists  

 

6 Structuring Music using Linked Lists  

    6.1 JMusic and Imports

    6.2 Making a Simple Song Object

    6.3 Making a Song Something to Explore as a Linked List

 

7 Structuring Images using Linked Lists 

    7.1 Simple arrays of pictures

    7.2 Listing the Pictures, Left-to-Right

    7.3 Listing the Pictures, Layering

    7.4 Reversing a List

    7.5 Animation

    7.6 Lists with Two Kinds of Elements

 

III Trees: Hierarchical Structures for Media

 

8 Trees of Images  

    8.1 Representing scenes with trees

    8.2 Our First Scene Graph: Attack of the Killer Wolvies

    8.3 The Classes in the SceneGraph

    8.4 Building a scene graph

    8.5 Implementing the Scene Graph

    8.6 Exercises

 

9 Lists and Trees for Structuring Sounds    

    9.1 Composing with Sampled Sounds and Linked Lists: Recursive Traversals

    9.2 Using Trees to Structure Sampled Sounds .

 

10 Generalizing Lists and Trees

    10.1 Refactoring a General Linked List Node Class

    10.2 Making a New Kind of List

    10.3 The Uses and Characteristics of Arrays, Lists, and Trees

    10.4 Binary Search Trees: Trees that are fast to search

 

11 Abstract Data Types: Separating the Meaning from the Implementation  

    11.1 Introducing Stacks

    11.2 Introducing Queues

    11.3 Using an ArrayList

    11.4 Using a map ADT

 

12 Circular Linked Lists and Graphs: Lists and Trees That Loop

    12.1 Making Sprite Animation with Circular Linked Lists

    12.2 Generalizing a Circular Linked List

    12.3 Graphs: Trees with Loops

 

13 User Interface Structures   

    13.1 A Toolkit for Building User Interfaces

    13.2 Rendering of User Interfaces

    13.3Creating an Interactive User Interface

    13.4 Running from the Command Line

 

IV Simulations: Problem Solving with Data Structures

 

14 Using an Existing Simulation Package   

    14.1 Introducing Simulations

    14.2 Overview of Greenfoot

    14.3 Greenfoot Basics

    14.4 Creating new classes

    14.5 Breakout

 

15 Introducing UML and Continuous Simulations     

    15.1 Our First Model and Simulation: Wolves and Deer

    15.2 Modeling in Objects

    15.3 Implementing the Simulation Class

    15.4 Implementing a Wolf

    15.5 Implementing Deer

    15.6 Implementing AgentNode

    15.7 Extending the Simulation

 

16 Abstracting Simulations: Creating a Simulation Package

    16.1 Creating a Generalized Simulation Package

    16.2 Re-Making the Wolves and Deer with our Simulation Package

    16.3 Making a Disease Propagation Simulation

    16.4 Walking through the Simulation Package

    16.5 Finally! Making Wildebeests and Villagers

 

17 Discrete Event Simulation   

    17.1 Describing a Marketplace

    17.2 Differences between Continuous and Discrete Event Simulations

    17.3 Different Kinds of Random

    17.4 Ordering Events by Time

    17.5 Implementing a Discrete Event Simulation

    17.6 The Final Word: The Thin Line between Structure and Behavior

 

Index

Erscheint lt. Verlag 26.2.2010
Sprache englisch
Maße 238 x 190 mm
Gewicht 764 g
Themenwelt Informatik Programmiersprachen / -werkzeuge Java
Mathematik / Informatik Informatik Web / Internet
ISBN-10 0-13-137708-6 / 0131377086
ISBN-13 978-0-13-137708-0 / 9780131377080
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
mit über 150 Workouts in Java und Python

von Luigi Lo Iacono; Stephan Wiefling; Michael Schneider

Buch (2023)
Carl Hanser (Verlag)
29,99
Einführung, Ausbildung, Praxis

von Christian Ullenboom

Buch | Hardcover (2023)
Rheinwerk (Verlag)
49,90