Suggestions for Graduated Exposure to Programming Concepts Using - - PowerPoint PPT Presentation

suggestions for graduated exposure to programming
SMART_READER_LITE
LIVE PREVIEW

Suggestions for Graduated Exposure to Programming Concepts Using - - PowerPoint PPT Presentation

Suggestions for Graduated Exposure to Programming Concepts Using Fading Worked Examples Simon Gray Caroline St. Clair North Central College College of Wooster Richard James Jerry Mead Rollins College Bucknell University ITiCSE06


slide-1
SLIDE 1

Suggestions for Graduated Exposure to Programming Concepts Using Fading Worked Examples

Simon Gray College of Wooster Caroline St. Clair North Central College Richard James Rollins College Jerry Mead Bucknell University

slide-2
SLIDE 2

ICER 2007 2

ITiCSE’06 Working Group

  • Jerry Mead, Bucknell University
  • Simon Gray, College of Wooster
  • John Hamer, University of Auckland
  • Dick James, Rollins College
  • Juha Sorva, Helsinki University of

Technology

  • Caroline St. Clair, North Central College
  • Lynda Thomas, University of Wales
slide-3
SLIDE 3

ICER 2007 3

Plan

  • Motivation
  • Conjecture
  • Cognitive Load Theory
  • Fading Worked Examples
  • Samples
  • Moving Forward
  • Q & A
slide-4
SLIDE 4

ICER 2007 4

Motivation

  • The problems students have mastering

programming skills is well-documented - basis of ITiCSE’07 working group

  • What is the problem? What can we do

about it?

  • Cognitive load requires attention
slide-5
SLIDE 5

ICER 2007 5

Conjecture

  • Part of the reason students don’t acquire

the desired programming skills is that cognitive overload results in the development of near-transfer

  • We’ll get a better result if we do a better

job of controlling for cognitive load

  • Fading worked examples may be a way to

control for cognitive load

slide-6
SLIDE 6

ICER 2007 6

Cognitive Load Theory

  • John Sweller 1988

 defined a model of memory that could be used to understand how the load on memory resources during problem-solving impacts learning

slide-7
SLIDE 7

ICER 2007 7

Cognitive Architecture

  • Model of memory

– Sensory memory – Working (short-term) memory – limited! – Long-term memory

  • Forms of data

– Raw sensory data – Encoded data in short-term memory – Schema in long-term memory

slide-8
SLIDE 8

ICER 2007 8

Schema

  • Constructed in working memory by

integrating new stuff with old stuff

  • Can be come quite abstract, representing

a more widely applicable piece of knowledge

  • Takes up only a single slot in working

memory

slide-9
SLIDE 9

ICER 2007 9

Cognitive Load

  • Intrinsic cognitive load – reflects inherent

difficulty of the material

  • Germane cognitive load – amount of

working memory resources required by

  • ther data needed for schema formation
  • Extraneous Cognitive Load – the amount
  • f working memory resources needed for

instruction

slide-10
SLIDE 10

ICER 2007 10

So…

  • Working memory is a gateway and

bottleneck to learning

  • Given this understanding of cognitive

architecture and cognitive load, how can we design instruction to improve/enhance learning?

slide-11
SLIDE 11

ICER 2007 11

“Traditional” Approach

  • Solving problems with specific goals from

scratch is not effective for novices

  • “means ends analysis” – at each step the

student must be aware of the current state

  • f the solution and the state of the

problem goal

  • Sweller: this approach leads to solutions,

but not learning

slide-12
SLIDE 12

ICER 2007 12

Some CLT-Based Alternatives

  • The goal-free effect – the student works a

problem without specific goals

  • Worked example effect – working from a

solved example, the student solves an unworked problem

  • Partially worked example effect – the

student completes partially worked solutions

slide-13
SLIDE 13

ICER 2007 13

Fading Worked Examples

  • Start with a completely worked example to

serve as a model and a process for creating the solution

  • Follow this with a sequence of problems

each of which contains one fewer worked step than its predecessor

  • Conclude with a solve-from-scratch problem
  • Caution: expertise reversal effect
slide-14
SLIDE 14

ICER 2007 14

Forward versus backward fading

Lorem ipsum dolor sit amet. Vivamus ac nibh a gravida. Phasellus et leo eleifend. Praesent eros in urna. Lorem ipsum dolor sit amet. Vivamus ac nibh a gravida. Phasellus et leo eleifend. ___________________ Lorem ipsum dolor sit amet. Vivamus ac nibh a gravida. ___________________ ___________________ Lorem ipsum dolor sit amet. ___________________ ___________________ ___________________ ___________________ ___________________ ___________________ ___________________

slide-15
SLIDE 15

ICER 2007 15

Facets of Programming

  • Programming is multi-faceted
  • Facets that guide the construction of FWEs

– Design – Implementation – Semantics

  • Asserts
  • Execution
  • Verification
slide-16
SLIDE 16

ICER 2007 16

Creating FWE Sequences

  • For each facet, identify a sequence of

steps a student will follow

  • Identify a sequence of problems to fade
  • Create the completely worked solution for
  • ne problem
  • Provide faded solutions for the others
  • Leave at least one problem completely

unworked

slide-17
SLIDE 17

ICER 2007 17

Selection : design facet

Design produces a matrix: rows correspond to the cases in the selection columns correspond to the conditions and actions associated with the cases. Step 1: From the problem description, identify the cases of the selection and determine if there is a default case. Step 2: For each case, determine an appropriate condition; enter it in the appropriate matrix row. Step 3: For each case, determine the action to be taken when the case is selected. If there is a default, identify the associated action. Enter the actions into the matrix in the corresponding rows.

slide-18
SLIDE 18

ICER 2007 18

Problem Statement

A grade school categorizes its students as being “pre-school” for ages between 4 and 5 (inclusive), and “grade school” for ages between 6 and 11 (inclusive). A program is to input a student’s name and age and print a report with the student’s name and category. Design an appropriate selection statement that when executed will print the required output. If the student’s age does not fit into one of the categories, then an error message will be displayed.

slide-19
SLIDE 19

ICER 2007 19

Step 1: Identify Cases

case condition action pre-school grade school default

slide-20
SLIDE 20

ICER 2007 20

Step 2: Identify conditions

case condition action pre-school 4 <= age < 6 grade school 6 <= age < 12 default age < 4 OR age >= 12

slide-21
SLIDE 21

ICER 2007 21

Step 3: Identify actions

case condition action pre-school 4 <= age < 6 print name is in ‘pre-school’ grade school 6 <= age < 12 print name is in ‘grade school’ default age < 4 OR print Error: bad age age >= 12

slide-22
SLIDE 22

ICER 2007 22

Subsequent Problems…

… would be different

  • The first would have the last step missing
  • The second would have the last two steps

missing

  • The third would have all the steps missing,

but possibly with the empty steps still labeled

  • Final problem is completely empty
slide-23
SLIDE 23

ICER 2007 23

Selection : implementation facet

Step 1: If the first case has a condition cond1 and action action1 write if (cond1) action1 Step n: For each subsequent case add to the end

  • f the growing statement the following.

else if (condn) actionn Step last: If there is a default with action actiond, add the following at the end of the statement. else actiond

slide-24
SLIDE 24

ICER 2007 24

Repeat the problem statement (not shown here) Step 1: Review the selection matrix. case condition action small 50 <= weight < 60 print "small" Large 60 <= weight < 70 print "large" extra large 70 <= weight print "extra large“ Step 2: Using steps provided for implementation of a selection statement and the worked example as a model, complete the translation of the design (selection matrix) into the target language. if ( 50 <= weight && weight < 60 ) cout << "Egg weight (g): " << weight << " => small"; else if ( ______________ ) cout << ______________ << endl; else __________________

Instructor chooses how much of the implementation is faded

slide-25
SLIDE 25

ICER 2007 25

And so on…

Selection semantics – verification FWEs Identify test cases describing expected behavior Selection semantics – assert FWEs Explicitly state semantics of components Selection semantics – execution FWEs Trace execution given some inputs

slide-26
SLIDE 26

ICER 2007 26

implementation design semantics – assert semantics- execution semantics- verification

selection

slide-27
SLIDE 27

ICER 2007 27

Conclusion

  • Learning to program is complex,

demanding and prone to cognitive overload

  • FWEs provide graduated and repeated

exposure to the facets of programming through working a variety of problems in an area and address the issue of cognitive load

slide-28
SLIDE 28

ICER 2007 28

Moving Forward

  • Will this work?
  • How can we evaluate the effectiveness of

this approach?

  • Are the problem solving skills developed

transferable to other domains?

slide-29
SLIDE 29

ICER 2007 29

Questions? Comments?