10

Click here to load reader

Teaching Empirical Skills and Concepts in Computer Science using Random Walks Grant Braught Dickinson College

Embed Size (px)

DESCRIPTION

Integrating Empirical Methods into the Computer Science Curriculum Central Themes of Our Approach See empirical methods early and often Incremental exposure to empirical methods Integrate empirical methods into existing CS courses with minimal overhead See: Core Empirical Skills and Concepts for Computer Science Braught, Miller, Reed; SIGCSE 2004 Empirical Investigation Throughout the Curriculum Reed, Miller, Braught; SIGCSE 2000

Citation preview

Page 1: Teaching Empirical Skills and Concepts in Computer Science using Random Walks Grant Braught Dickinson College

Teaching Empirical Skills and Teaching Empirical Skills and Concepts in Computer Science Concepts in Computer Science

using Random Walksusing Random Walks

Grant BraughtDickinson College

[email protected]

Page 2: Teaching Empirical Skills and Concepts in Computer Science using Random Walks Grant Braught Dickinson College

Integrating Empirical Methods into Integrating Empirical Methods into the Computer Science Curriculumthe Computer Science Curriculum• Collaborators:

• David Reed, Creighton University• Craig Miller, DePaul University• Grant Braught, Dickinson College

• Goals:• Identify core empirical skills and

concepts• Develop and assess materials

Page 3: Teaching Empirical Skills and Concepts in Computer Science using Random Walks Grant Braught Dickinson College

Integrating Empirical Methods into Integrating Empirical Methods into the Computer Science Curriculumthe Computer Science Curriculum• Central Themes of Our Approach

• See empirical methods early and often• Incremental exposure to empirical

methods• Integrate empirical methods into

existing CS courses with minimal overhead

• See:• Core Empirical Skills and Concepts for Computer Science

Braught, Miller, Reed; SIGCSE 2004• Empirical Investigation Throughout the Curriculum

Reed, Miller, Braught; SIGCSE 2000

Page 4: Teaching Empirical Skills and Concepts in Computer Science using Random Walks Grant Braught Dickinson College

Exploring Random WalksExploring Random Walks

• Expose students to issues most central to experimentation with simulations• Consistency and Accuracy• Hypothesis testing

• Unique Aspects• Designed for first week of the first

course• Makes use of an underutilized time slot• Extensions support incremental

exposure

Page 5: Teaching Empirical Skills and Concepts in Computer Science using Random Walks Grant Braught Dickinson College

The Random Walks ApplicationThe Random Walks Application

• Demonstration

Page 6: Teaching Empirical Skills and Concepts in Computer Science using Random Walks Grant Braught Dickinson College

Exploring Random WalksExploring Random Walks

• Accuracy and Averaging Multiple Runs

Runs / Experiment1 5 20

Exp RMS % Error RMS % Error RMS % Error1 3.346 66.54% 11.687 16.87% 9.706 2.94%2 9.985 0.15% 9.109 8.91% 9.385 6.15%3 2.237 77.63% 10.039 0.39% 10.752 7.52%4 4.382 56.18% 8.446 15.54% 9.208 7.92%5 5.492 45.08% 8.672 13.28% 9.319 6.81%

Page 7: Teaching Empirical Skills and Concepts in Computer Science using Random Walks Grant Braught Dickinson College

Exploring Random WalksExploring Random Walks

• Consistency and Accuracy1 Run/Experiment 5 Runs/Experiment 20 Runs/Experiment

Page 8: Teaching Empirical Skills and Concepts in Computer Science using Random Walks Grant Braught Dickinson College

Exploring Random WalksExploring Random Walks

• Hypothesis Testing

• How does the expected RMS distance of an unconstrained random walk compare to that of a random city-walk?

•Smaller? Larger? The Same?

•Typical results: RMSUnconst = 9.027RMSCity =10.542

Page 9: Teaching Empirical Skills and Concepts in Computer Science using Random Walks Grant Braught Dickinson College

Extensions & VariationsExtensions & Variations

• Later in First Course:• An objects early assignment

• Implementing the Turtle object•Split assignment content into two

parts

• Later in the Curriculum• A language interpreter

• Implementing the TurtleInterpreter object

Page 10: Teaching Empirical Skills and Concepts in Computer Science using Random Walks Grant Braught Dickinson College

Project Web SiteProject Web Site

•www.empirical.cs.creighton.edu•Links to Related Papers •Assignment Repository

•Classroom testers and evaluators needed

Partial support for this work was provided by the National Science Foundation’s Course, Curriculum and laboratory Improvement Program. (Grant: DUE-0230950)