A Puzzle to Entertain You

  • View
    36

  • Download
    1

Embed Size (px)

DESCRIPTION

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?. - PowerPoint PPT Presentation

Text of A Puzzle to Entertain You

  • A Puzzle to Entertain YouI 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?

  • A Puzzle to Entertain YouI have three cards. The first card is blue on both sides. The second card is red on one side and blue on the other. The third card is red on both sides.Now, I show you one side of a card, and it is red. What is the probability that the color on the other side is red?

  • How Can We TeachProblem Solving?Clifford A. Shaffer

    Department of Computer ScienceVirginia Techshaffer@cs.vt.edu

  • Talk OverviewProblem SolvingWhat it means to teach PSHow I teach PS, and variantsComputational Thinking and the CS Principles initiative

  • NOT Problem-Based LearningPBL is about a way to present contentStudents 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.

  • Motivation: Why We CareMany students are not good at debuggingDeduction vs. Random WalkMany students are not good at designMany students are not good at analysisAlgorithm Analysis, systems analysisThese deficiencies motivated the course, and overcoming them is therefore the goal.

  • How CAN we teach PS?An old problem for teachers.Polya: 1940sHeuristics

  • What Does It Mean to Teach Problem Solving?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?

  • A Student CommentWe are already good at this.Implied hypothesis: If you are good at Computer Science, you are good at PS.Skill(PS) => Skill(CS)There does appear to be a lot of truth to this.Correlated? PS is a prereq for CS capability?

  • Fundamental ChallengeWe want to improve the capability of the weaker students to do CSThe hypothesis: We can do that by improving their PS skillsIncreased Skill(PS) => Increased Capability (CS)

  • ObservationMany 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!

  • History of our PS Course~2006, our Undergraduate Program Committee developed major changes in undergraduate curriculumTeaching PS: not my idea, but I ended up developing the courseI found textbooks to make a course

  • Pedagogical ApproachWeekly homeworksWide variety including self assessment tests, problem sets (individual or in pairs)Key Pedagogical TechniqueMany classes involve students working problems (come to board and demonstrate)Goal is to make visible the problem-solving processFailure illustrates more than success

  • What I Actually Teach (1)PS diagnostic, self understanding testsMyers-Briggs, Learning Styles Inventory, Conflict resolutionTechnique: Thinking aloud, working in pairs, engaging a problemVerbal reasoning/logic, Analogy problemsJack is slower than Phil but faster than Val. Val is slower than Jack but faster than Pete. Write the names in order of speed.

  • What I Actually Teach (2)Heuristics: (about 1/3 of the course)ExternalizeVisualizeSpecial FeaturesLook at ExtremesSimplifySleep on ItPenultimate StepSymmetryInvariants

  • What I Actually Teach (3)Lateral ThinkingDeductive and Hypothetical ReasoningToday is Saturday. What is the day after 4 days before tomorrow? [These are hard!]Making an argument: proof stylesProblem Solving and ProgrammingSucceeding as a student

  • What I Actually Teach (4)Problem Solving in-the-large:Problem DefinitionGenerating Potential SolutionsDeciding Course of ActionImplementing SolutionEvaluationComputational ThinkingSimulation, Optimization, and StatisticsInterpersonal Problem Solving

  • SourcesEffective Problem Solving, Second Edition, Marvin Levine HeuristicsProblem Solving & Comprehension, Sixth Edition, Whimbey and Lochhead careful deductive reasoningThe 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-largeI also actively collect sample problemsMichalewicz: Puzzle Based Learning

  • Variant: Math Olympiad ApproachCould make the class more math orientedI 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 dont need math to find hard problems!

  • Other VariantsCS topics vs. CS relevant examplesFinite state and other machinesAlgorithmsBig project for group to work on (or PBL)Computational ThinkingPuzzle-based Learning

  • ChallengesStudent reaction is not strongly positiveOur students tend to focus on programming and obvious CS contentCS == ProgrammingCan mitigate by tying more closely to CS content. Debugging?Need to maintain faculty supportIf viewed as non-critical, lower division courses get pushed out.

  • Major Positive (to Students)Gives students a framework and a terminology for discussing the process of problem solving.

  • The state of Computer Science Education in the USBoom and Bust cycle (~15-year cycle)We are coming out of a bustNSF reports 70% reduction in CS majors (80% drop among women)We are starting to recover numbersPredictions are for a huge deficit in CS-related workersClaims of all the new jobs related to CS

  • Computation ThinkingProposed Solution: Teach CS in K12!NSFJeanette WingCE21 programCS Principles initiativeGoogleAlice, Scratch, etc.Universities giving summer workshops for middle/high school teachers

  • Harsh Realities in US K12 EducationCS is not part of the coreFew K12 teachers trained to teach CSLowered interest among students for taking high school CSRecently lost our advanced AP exam

  • NSFs CE21 ProgramGoals: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 BoardPI: Owen Astrachan at DukeGoal: Define a new AP courseTeach it at High School and College Intro

  • CS Principles (csprinciples.org)NSF Funded Project; College BoardPI: Owen Astrachan at DukeGoal: Define a new AP courseTeach it at High School and College IntroNot a classic programming courseTeach a broader introduction to the concepts of CS

  • CS Principles (csprinciples.org)NSF Funded Project; College BoardPI: Owen Astrachan at DukeGoal: Define a new AP courseTeach it at High School and College IntroNot a classic programming courseTeach a broader introduction to the concepts of CSComputational Thinking!

  • CS Principles (csprinciples.org)NSF Funded Project; College BoardPI: Owen Astrachan at DukeGoal: Define a new AP courseTeach it at High School and College IntroNot a classic programming courseTeach a broader introduction to the concepts of CSComputational Thinking!Pilot Sites

  • CS Principles Big IdeasComputing is a creative human activity that engenders innovation and promotes explorationAbstraction reduces information & detail to focus on concepts relevant to understanding and solving problemsData and information facilitate the creation of knowledgeAlgorithms are tools for developing and expressing solutions to computational problemsProgramming is a creative process that produces computational artifactsDigital devices, systems, & networks enable and foster computational approaches to solving problemsComputing enables innovation in other fields

  • Computational Thinking PracticesAnalyzing effects of computationCreating computational artifactsUsing abstractions and modelsAnalyzing problems and artifactsCommunicating processes and resultsWorking effectively in teams

  • (Almost) The EndThank you for listening!What are your experiences with teaching Problem Solving?Computational Thinking?

  • A Closing PuzzleA 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?

  • A Closing PuzzleOn 24 January 1993, Ms. Green celebrated her birthday. This was a special day because the number of years she had now completed was equal to the sum of the digits for the year when she was born. How old was Mrs. Green that day?

    ***Dick Nance anecdote. Reading Polyas book is a long way from coming up with a PS course curriculum!**There does seem to be rather a divide (gradation) among students on PS capability that appears to me to correlate to CS capability.*To teach debugging requires a shared reference point related to programming, which goes against the idea of this being a no-prereq intro course.**