View
215
Download
0
Tags:
Embed Size (px)
Citation preview
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Workshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching Object-Oriented
Design
Learning Theory Background
and an example of
pedagogical progression for teaching OOD to novices
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Agenda
Brief introduction to learning and our cognitive architecture
Cognitive Load Theory (CLT), Worked Examples (WE), and CLT Effects
An example of pedagogical progression for teaching OOD to novices intro programming course @ Aarhus University (7
weeks)
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Reading
et a lg nimo cs ire pa psw e ngni nr ome ht
the morning newspaper is coming late
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Reading
Expert Knows 100.000s of words and
phrases Patterns and pattern matching
Novice Knows few (if any) words and
phrases; perhaps hardly the letters
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Chess
Expert Knows 100.000s of board
configurations and their associated moves
Patterns and pattern matching!
Novice Knows few (if any) board
configurations and their associated moves
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Expert Versus Novice
Expert schemas: many, at many different levels of abstraction automation: masters many automated process which
can be carried out with minimal conscious thought
Novice schemas: none, need to be built automation: no automated processes; all processes
require conscious thought, i.e. load on working memory
Education (pattern-oriented instruction)
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Cognitive Learning Processes
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Our Cognitive Architecture
Long-Term Memory:Schemas
Working Memory:Integration
encoding decoding
recoding/chunking
(unconscious)
decision(conscious)
Senses Muscles
Environment
New information is processed in WM to form
new knowledge structures called schemas stored in
LTM.
Learning
Memory structures that permit us to treat a large amount of information as
one unit.
Schemas
Automated processes which can be carried out with minimal conscious
thought.(Procedural schemas.)
Automation
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Cognitive Load Theory(1982-)
The fundamental axiom of CLT: learning outcome is optimized when cognitive load fully utilizes the capacity of working memory with elements that
allow for optimal schema acquisition.
• Intrinsic cognitive load (I)– cognitive load intrinsic to the problem that
cannot be reduced without reducing understanding
• Extraneous cognitive load (E)– a non-intrinsic cognitive load caused by
instructional procedures that interfere with rather than contribute to learning
• Germane cognitive load (G)– a non-intrinsic cognitive load that
contributes to, rather than interfere with, learning by supporting schema acquisition (pattern-oriented instruction)
Learning outcome
Cognitive load
L = I + E + G
Optimize learning:minimize E, maximize G
John Sweller
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Pre CLT Dogma
Cognitive PsychologyIn the early 1970s, problem solving became one of the central fields of cognitive
psychology.
Assumption and AdviceProblem solving is the best form of learning.
The more, the merrier!
Cognitive Load TheoryNo!
A misguided advice!
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Worked Examples
A Worked example (WE) is an instructional device that provide a problem solution for a learner to study.
WE include– a problem statement– a procedure for solving the problem
WE are meant to illustrate how other similar problems might be solved (prototypical examples).
The WE approach is particularly relevant to programs of instruction that seek to promote skills acquisition, e.g. music, chess, programming, problem solving, etc.
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Selected CLT Effects
Worked Examples Effect (1985)Alternation of WEs and problems increase learning outcome and transfer.
Example Completion Effect (1992)Partially completed problems presented to learners are as effective as worked
examples and better than full problems.
Expertise-Reversal Effect (2003)Effects gradually disappear as students develop expertise. With further
expertise, effects reverse, i.e. learning outcome is reduced.
Guidance-Fading Effect (2003)Complete examples followed by partially completed examples followed by full
problems is superior to any of the three in isolation.
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
WE with Faded Guidance
represent “atomic” activities in the process of solving a task
represents a model approach to a solution
represents a novice’s attempt at a solution
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Music Composition
Learning goal: Compose a piece of music in three “voices”
Give the melody, ask for the two additional voices.
...
Give the melody and most of the two additional voices; ask for the missing bar(s).
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
WE and Faded Guidance in Programming
3. In a lab session, the students use, modify, and extend both examples.
1. In a video, we present development of a program with two classes, Playlist and Track. P T*
2. In a lecture, we present (a partial) development of a similar example, say Account and Transaction.
A T*
4. In an exercise, the students extend the Playlist-Track example by adding an Image class.
P T*
I
*
5. In an assignment, the students implement a similar system of three classes, say Notebook, Note, and Keyword.
Nb N*
K
*
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Generic Schema for Use of WEs
3. Let the students use, modify and extend one or both WEs in a lab session.
1. Present a complete WE in a pod- or pencast.
2. Present and discuss a partial WE in a lecture.
4. Let the students make a more elaborate extension to one of the WEs in a follow-up exercise.
5. Let the students solve a similar problem (same structure and problem solving approach, but different cover story) in a mandatory assignment.
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
The Three Takeaways
Worked examples are effective pedagogical tools
Pattern-oriented instruction as germane cognitive load
Use, modify, create is an effective generic principle of progression for instructional designs can be used simultaneously at different levels
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Groupwork
Choose a technique or concept that the students must learn
Discuss how WE and faded guidance can be used to present key aspects of the technique
What could be appropriate stepping stones in the learning process?
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Workshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching Object-Oriented
Design
Learning Theory Background
and an example of
pedagogical progression for teaching OOD to novices
Bonus slid
es
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Pattern-Oriented InstructionIn Programming
MotivationPatterns capture chunks of programming knowledge and skills.
Reinforces schema creation when cognitive load is “controlled” (increased germane cognitive load).
Design patternsAssociationObserverStrategy...
Algorithmic patternsfindOnefindAllfindBest (min, max, ...)...
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
import java.util.*;
bs = new ArrayList<B>();
private List<B> bs;
public void add(B b) { bs.add(b); } public void remove(B b) { bs.remove(b); }
Design Pattern: Association
A B*
class B { ...}
class A { ... // A fields public A() { ...
}
... // A methods
}
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Associations All Over
Inbox * Email
Player * Playlist
Playlist * Track
Track * Picture
Album * Photo
Calendar * Appointment
DNA register * DNA string
DNA string * AminoAcidResidue
Presentation * Slide
Slide * SlideObjects
Animation * Picture
...
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
An Emerging Algorithmic Pattern
public List<Track> findAllByArtist(String artist) { List<Track> res= new ArrayList<Track>(); for ( Track t: tracks ) if ( t.getArtist().contains(artist) ) res.add(t); return res;}
public List<Photo> findAllAfter(Date d) { List<Photo> res= new ArrayList<Photo>(); for ( Photo e: photos ) if ( e.getDate().isLaterThan(d) ) res.add(e); return res;}
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Algorithmic Pattern: findAll
public List<T> methodName(List<T> lst, additional params) { List<T> result= new ArrayList<T>(); for ( T e : lst ) { if ( criteria(e) ) { result.add(e); } } return result;}
1. Substitute concrete type for T2. Choose proper method name3. Choose appropriate additional parameters for the concrete criteria
Instantiation of pattern findAll
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Time for Practicing...
“Make the students feel the pain”Erich Gamma, OOPSLA 2003
Sometimes a good motivation, but practice it with care…
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Generic Method: findAll
public static <T>List<T> findAll(List<T> lst, Criteria<T> c) { List<T> result= new ArrayList<T>(); for ( T e : lst ) { if ( c.satisfiedBy(e) ) { result.add(e); } } return result;}
interface Criteria<T> { boolean satisfiedBy(T e);}
List<Person> persons= new ArrayList<Person>();class SeniorCriteria implements Criteria<Person> { ... }
findAll(persons, new SeniorCriteria());
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Example of ProgressionAt several levels
First level Use, modify and extend various A -->* B problems
(practicing the association pattern with lists and iterations)
Algorithmic patterns: findAll, findBest, ...
Second level Use generic methods min/max to realize findBest Present generic method for findAll Modify findAll... Create generic methods for other algorithmic patterns
Anden information
Michael E. CaspersenWorkshop #3 @ SIGCSE 2011
Pedagogical Progressions for Teaching OOD
Algorithmic Pattern: findBestUsing Generic MethodsFinding a “best” object in a collection/list
• best rated track• shortest track• ...
Collections:- T min(Collection<T> c)- T max(Collection<T> c)
Natural order...
interface Comparator<T> { int compare(T a, T b);}
List<Track> tracks= new ArrayList<Track>();class RatingComparator implements Comparator<Track> { ... }
Collections.max(tracks, new RatingComparator());
An optimization problem