1 / 28

Agenda

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. Agenda. Brief introduction to learning and our cognitive architecture

duard
Télécharger la présentation

Agenda

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Workshop #3 @ SIGCSE 2011Pedagogical Progressions for Teaching Object-Oriented DesignLearning Theory Backgroundand an example ofpedagogical progression for teaching OOD to novices

  2. 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)

  3. Reading et a lgnimocsire pa psw e ngninromeht the morning newspaper is cominglate

  4. 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

  5. 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

  6. 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)

  7. Cognitive Learning Processes

  8. Our Cognitive Architecture Learning Long-Term Memory: Schemas recoding/chunking (unconscious) New information is processed in WM to form new knowledge structures called schemas stored in LTM. encoding decoding Schemas Working Memory: Integration decision (conscious) Memory structures that permit us to treat a large amount of information as one unit. Automation Senses Muscles Automated processes which can be carried out with minimal conscious thought. (Procedural schemas.) Environment

  9. 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. Learning outcome Cognitive load John Sweller Cognitive Load Theory(1982-) • 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) L = I + E + G Optimize learning: minimize E, maximize G

  10. Cognitive Load Theory No! A misguided advice! Pre CLT Dogma Cognitive Psychology In the early 1970s, problem solving became one of the central fields of cognitive psychology. Assumption and Advice Problem solving is the best form of learning. The more, the merrier!

  11. 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.

  12. Worked Examples Effect (1985) Alternation ofWEs 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. Selected CLT Effects

  13. 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

  14. 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).

  15. 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 3.In alab session,the studentsuse, modify, and extend both examples. * P T * 4. In an exercise, the students extend the Playlist-Track example by adding an Image class. I * Nb N 5. Inan assignment, the students implement a similar system of three classes, say Notebook, Note, and Keyword. * K WE and Faded Guidance in Programming

  16. Generic Schema for Use of WEs 1. Present a complete WE in apod- or pencast. 2. Present and discuss a partial WE in a lecture. 3. Let the studentsuse, modify andextendone or both WEs in a lab session. 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.

  17. 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

  18. 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?

  19. Workshop #3 @ SIGCSE 2011Pedagogical Progressions for Teaching Object-Oriented DesignLearning Theory Backgroundand an example ofpedagogical progression for teaching OOD to novices Bonus slides

  20. Motivation Patterns capture chunks of programming knowledge and skills. Reinforces schema creation when cognitive load is “controlled” (increased germane cognitive load). Designpatterns Association Observer Strategy ... Algorithmic patterns findOne findAll findBest (min, max, ...) ... Pattern-Oriented InstructionIn Programming

  21. class A { ... // A fields public A() { ... } ... // Amethods } class B { ... } import java.util.*; bs = new ArrayList<B>(); private List<B> bs; public voidadd(B b) { bs.add(b); } public voidremove(B b) { bs.remove(b); } Design Pattern: Association * A B

  22. 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 ...

  23. 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(Dated) { List<Photo> res= new ArrayList<Photo>(); for ( Photo e: photos ) if ( e.getDate().isLaterThan(d) ) res.add(e); return res; }

  24. Algorithmic Pattern: findAll publicList<T> methodName(List<T> lst, additional params) { List<T> result= new ArrayList<T>(); for (Te: lst) { if (criteria(e) ) { result.add(e); } } return result; } Instantiation of pattern findAll • Substitute concrete type for T • Choose proper method name • Choose appropriate additional parameters for the concrete criteria

  25. Time for Practicing... “Make the students feel the pain” Erich Gamma, OOPSLA 2003 Sometimes a good motivation, but practice it with care…

  26. Generic Method: findAll public static <T> List<T> findAll(List<T> lst, Criteria<T> c) { List<T> result= new ArrayList<T>(); for ( Te : lst ) { if ( c.satisfiedBy(e) ) { result.add(e); } } return result; } interface Criteria<T> { booleansatisfiedBy(Te); } List<Person> persons= new ArrayList<Person>(); class SeniorCriteria implements Criteria<Person> { ... } findAll(persons, new SeniorCriteria());

  27. 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

  28. Algorithmic Pattern: findBestUsing Generic Methods • Finding 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... An optimization problem interface Comparator<T> { intcompare(T a, T b); } List<Track> tracks= new ArrayList<Track>(); class RatingComparator implements Comparator<Track> { ... } Collections.max(tracks, new RatingComparator());

More Related