Teaching Problem Solving and Design - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

Teaching Problem Solving and Design

Description:

CS Summer Institute. August, 2000 Chris Stephenson. Teaching Problem Solving ... The majority of teachers pay little attention to problem solving in classroom ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 30
Provided by: cemc2Math
Category:

less

Transcript and Presenter's Notes

Title: Teaching Problem Solving and Design


1
Teaching Problem Solving and Design
  • Chris Stephenson
  • University of Toronto

2
The Goal
  • A primary goal of curriculum reform is to create
    classrooms in which students
  • are challenged to think critically
  • learn how to discover, understand, and analyse
  • apply skills and knowledge in new situations

3
The Reality
  • The majority of teachers pay little attention to
    problem solving in classroom instruction despite
    the fact that
  • these skills are documented as essential for
    college and university
  • these skills are documented as essential for the
    workplace

4
Computer Programming
  • Problem solving skills are absolutely key to
    program development.
  • The most fundamental obstacles to learning to
    program are related to problem solving.
  • BUT!!!
  • Most courses still focus on syntax!

5
Problem Solving Elements
  • Research has identified two basic kinds of
    problems
  • transformational problems where a set of
    operators are defined and applied to produce a
    solution
  • synthesis problems where known components are
    selected and integrated to achieve a desired goal

6
Changing Paradigms
  • Programming problems used to be viewed
    exclusively as transformational problems but
    object oriented programming, reusable modules,
    software code libraries, and machine independent
    (portable) code are changing the very nature of
    programming.

7
Early Models of Problem Solving
  • The first problem solving models broke down into
    two distinct approaches
  • the traditional scientific method
  • an introspective creative method
  • Scientists often report using both methods to
    enable discovery.

8
The Scientific Process
  • Dewey (1910)
  • define the problem
  • suggest possible solutions and identify
    alternative
  • reason about the solutions and implement
  • test and prove

9
The Creative Process
  • Wallas (1926)
  • problem formulation and information gathering
  • incubation - allowing the unconscious to work on
    it
  • illumination - working to gain insight
  • verification - testing for accuracy

10
Classroom Model
  • Polya (1945 and 1962) was the first to describe
    a problem solving model based on classroom
    experience
  • understand the problem
  • devise a plan
  • carry out plan
  • look back

11
Polyas Model Part 1
  • Understand the problem -
  • state the question
  • identify the goal
  • give knowns, unknows and conditions
  • introduce drawings or notations

12
Polyas Model Part 2
  • Devise a plan -
  • outline a potential solution
  • look at similar problems
  • restate the problem differently
  • break it into subproblems

13
Polyas Model Part 3
  • Carry out plan -
  • refine and transform into a solution
  • relate tasks to givens and unknowns
  • check validity of each step
  • define steps in relations to the whole problem

14
Polyas Model Part 4
  • Look back -
  • confirm results and arguments
  • assess effectiveness of solution
  • assess accuracy of results
  • assess usefulness of solution for solving other
    problems

15
The Engineering Model
  • Etter (1995) presented a model used by students
    to solve engineering problems.
  • define the problem - state it clearly
  • gather information - describe input and output
  • generate and evaluate potential solutions
  • refine and implement solutions
  • verify and test solution method and result

16
Students Need to Know
  • What programming is
  • The importance of style
  • How computers solve problems
  • How programmers develop software
  • Software development over time

17
Programming is...
  • Analyzing a problem to be solved.
  • Preparing a design for the steps in a set of
    instructions (an algorithm)
  • Expressing the algorithm in a language that the
    computer can ultimately execute.
  • Providing adequate documentation
  • Testing and validating the program
  • Maintaining the program over time

18
Elements of Style
  • Good programming style is the foundation of
    well-designed programs.
  • informative headers
  • comments and variable descriptions
  • useful variable names
  • indentation to indicate structure

19
How Computers Solve Problems
Memory
Processing
Input
Output
20
Software Development
Specification
Analysis
Architecture
Design
Untested Software
Implementation
Testing
Product
The Waterfall Model
Maintenance
21
Iterative Model
Release
Marketing
Product
Requirements
(Repeat)
Testing
Analysis
Software
Specification
Implementation
Design
Architecture
22
Methodology
  • The most common methods used for teaching
    problem solving and critical thinking skills are
  • hands-on experience
  • real world problems
  • cooperative learning

23
Problem Solving
  • transferable skill
  • does not necessarily have to be related to
    computer programming
  • large or small problems
  • group or individual solutions
  • practice makes perfect

24
Sample Problem
  • Student term marks must be calculated in a
    course.
  • The course has 6 assignments and 6 quizzes which
    are done in alternating weeks. The exact number
    of students is unknown.
  • The term mark is calculated by
  • calculating a quiz mark by dropping the worst
    assignment mark
  • calculating an assignment mark by dropping the
    worst assignment mark
  • averaging the results quiz and assignment marks
  • The program should be able to estimate the term
    mark at any time in the term based on the
    assignments and quizzes to that point

25
Options to Solve the Problem
  • non computer option
  • existing application software
  • other generic software such as database or
    spreadsheet
  • write a customized program

26
Top-Down Design with Stepwise Refinement
  • break down the problem into 3-5 simpler problems
  • continue the process until the steps are atomic -
    i.e. easy to code
  • look for opportunities to reuse code

27
Bottom-Up Design
  • solve small pieces of the problem
  • use the solutions as building blocks to solve the
    bigger problem
  • perhaps design the solution Top-Down, but
    implement it Bottom-Up

28
Structure Chart
29
Flow of Data
Write a Comment
User Comments (0)
About PowerShow.com