1 / 30

# A Puzzle to Entertain You - PowerPoint PPT Presentation

A Puzzle to Entertain You. I have a bag that holds one marble, with equal probability that it is white or black. I add a second marble to the bag, that is white. I then shake the bag, and take one marble out. It is white. What is the probability that the remaining marble is black?.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

## PowerPoint Slideshow about 'A Puzzle to Entertain You' - terence-shirley

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

I have a bag that holds one marble, with equal probability that it is white or black.

I add a second marble to the bag, that is white. I then shake the bag, and take one marble out. It is white.

What is the probability that the remaining marble is black?

### How Can We TeachProblem Solving?

Clifford A. Shaffer

Department of Computer Science

Virginia Tech

shaffer@cs.vt.edu

• Background: What it means to teach PS

• How I teach PS, and variants

• Computational Thinking and the CS Principles initiative

• PBL is about a way to present content

• Students learn content in the context of addressing “real-world” (or at least bigger) problems.

• By “Problem Solving” I mean fundamental skills/strategies that people apply to solve problems of any type.

• Many students are not good at debugging

• Deduction vs. Random Walk

• Many students are not good at design

• Many students are not good at analysis

• Algorithm Analysis, systems analysis

• These deficiencies motivated the course, and overcoming them is therefore the goal.

• An old problem for teachers.

• Polya: 1940s

• Heuristics

• Fundamental Hypothesis:

• Problem Solving is a skill, not an ability.

• Otherwise, we cannot do anything.

• Secondary Hypothesis:

• Being good at problem solving correlates to being good at Computer Science.

• Skill(PS) ~ Skill(CS)

• Otherwise, why bother?

• “We are already good at this.”

• Implied hypothesis:

• If you are good at Computer Science, you are good at PS.

• Skill(CS) => Skill(PS)

• There does appear to be a lot of truth to this.

• Correlated? PS is a prereq for CS capability?

• We want to improve the capability of the weaker students to do CS

• The hypothesis:

• We can do that by improving their PS skills

• Increased Skill(PS) => Increased Capability (CS)

• Many people enjoy doing puzzles.

• Maybe an interest in puzzles correlates to an interest in CS?

• Irony: When a student tunes out my lecture on PS because they are working on a Sodoku!

• ~2006, our Undergraduate Program Committee developed major changes in undergraduate curriculum

• Teaching PS: not my idea, but I ended up developing the course

• I found textbooks to make a course

• Weekly homeworks

• Wide variety including self assessment tests, problem sets (individual or in pairs)

• Many classes involve students working problems (come to board and demonstrate)

• Goal is to “make visible” the problem-solving process

• PS diagnostic, self understanding tests

• MB

• Learning Styles Inventory

• Conflict resolution

• Thinking aloud, working in pairs, engaging a problem

• Verbal reasoning, Analogy problems

• Heuristics: (about 1/3 of the course)

• Externalize

• Visualize

• Special Features

• Look at Extremes

• Simplify

• Sleep on It

• Penultimate Step

• Symmetry

• Invariants

• Lateral Thinking

• Deductive and Hypothetical Reasoning

• Making an argument: proof styles

• Problem Solving and Programming

• Succeeding as a student

• Problem Solving in-the-large:

• Problem Definition

• Generating Potential Solutions

• Deciding Course of Action

• Implementing Solution

• Evaluation

• Computational Thinking

• Simulation, Optimization, and Statistics

• Interpersonal Problem Solving

• Effective Problem Solving, Second Edition, Marvin Levine – Heuristics

• Problem Solving & Comprehension, Sixth Edition, Whimbey and Lochhead – careful deductive reasoning

• The Art and Craft of Problem Solving, Paul Zeitz – Proofs, Math problems (sparingly)

• Strategies for Creative Problem Solving, Second Edition, Fogler and LeBlanc– PS in-the-large

• I also actively collect sample problems

• Could make the class more math oriented

• I don't want to make my class too math heavy.

• Exactly the people that I want to reach (weaker CS students) have less capability at math (or are even math-phobic)

• I don’t need math to find hard problems!

• CS topics vs. CS relevant examples

• Finite state and other machines

• Algorithms

• Big project for group to work on (or PBL)

• Computational Thinking

• Puzzle-based Learning

• Student reaction is not strong

• Our students tend to focus on programming and “obvious” CS content

• CS == Programming

• Can mitigate by tying more closely to CS content. Debugging?

• Need to maintain faculty support

• If viewed as “non-critical”, lower division courses get pushed out.

• Gives students a framework and a terminology for discussing the process of problem solving.

• Boom and Bust cycle (~15-year cycle)

• We are coming out of a bust

• NSF reports 70% reduction in CS majors (80% drop among women)

• We are starting to recover numbers

• Predictions are for a huge deficit in CS-related workers

• Claims of “all the new jobs” related to CS

Proposed Solution: Teach CS in K12!

• NSF

• Jeanette Wing

• CE21 program

• CS Principles initiative

• Google

• Alice, Scratch, etc.

• CS is not part of the core

• Few K12 teachers trained to teach CS

• Lowered interest taking high school CS

• Recently lost our advanced AP exam

• Goals:

• Train more teachers to teach CS (10,000?)

• Teach K12 students to “think computationally”

• We already teach “computer literacy” in primary school

• Includes a push to teach CS topics in middle schools (6-8)

• This is where most kids decide their career

CS Principles (csprinciples.org)

• NSF Funded Project; College Board

• PI: Owen Astrachan at Duke

• Goal: Define a new AP course

• Teach it at High School and College Intro

• Not a classic programming course

• Teach a broader introduction to the concepts of CS

• Computational Thinking!

• Pilot Sites

• Computing is a creative human activity that engenders innovation and promotes exploration

• Abstraction reduces information & detail to focus on concepts relevant to understanding and solving problems

• Data and information facilitate the creation of knowledge

• Algorithms are tools for developing and expressing solutions to computational problems

• Programming is a creative process that produces computational artifacts

• Digital devices, systems, & networks enable and foster computational approaches to solving problems

• Computing enables innovation in other fields

• Analyzing effects of computation

• Creating computational artifacts

• Using abstractions and models

• Analyzing problems and artifacts

• Communicating processes and results

• Working effectively in teams

• Thank you for listening!

• What are your experiences with teaching

• Problem Solving?

• Computational Thinking?

A man is driving his car on a shopping trip around town. Shortly after he starts out, he notices that his odometer (which has six digits) is showing a palindrome. An hour or so later, as he is nearly finished with his shopping trip, he looks at his odometer again. He notices that it is showing a different palindrome.

How far did he drive?