Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.

Pattern: Drive Your Learning

You are about to learn a framework to reuse it. You have your understanding goals, but no process of learning to guide you through.

Problem

Upon defining your learning goal, you need to start learning. Knowing what to learn is as important as reaching those goals through an effective learning process. Adopting a learning strategy is, therefore, essential. But what strategy is more suitable?

How do you define the most effective process for your learning needs?

Forces

Top-down vs. bottom-up. A top-down approach will start at a higher-level progressing downwards, giving a good overview with little effort but poor details. A bottom-up approach starts at a low-level progressing upwards, giving good detail with little effort, but hindering awareness of the global impact of changes.

Learner’s experience. You experience with the framework can affect you learning strategy, when choosing where to start and how to proceed.

Learning style. You may be a more “global”, “reflective” learner or you may possess a more “sequential”, “active” learning behaviour [FS05].

Documentation. Depending on the existing documentation artefacts, the learner will have to adapt his learning strategy to quicker and better fill in her knowledge gaps.

Solution

Select an entry point to start your understanding. Progress to the understanding level you feel more comfortable with, changing directions whenever needed.

A more experienced learner tends to adopt a more top-down approach, whereas a novice learner will go for a more bottom-up approach [SMD06][KRW05][SLB98]. Remember you can start at any abstraction level. A “global”, “reflective” [FS88] learner will start at a higher level of abstraction and will “top-down” gradually into the framework, because she needs the big picture first. A “sequential”, more “active” learner will start at a lower-level, try things out and “bottom-up” into the framework, gathering bits and pieces to form her mental model. Then, change directions, that is, swap strategies, as needed. This is beneficial to reduce cognitive overload and focus on the goal.

Look at the DOCUMENTATION ROADMAP and choose the documentation artefacts that may better assist you on your understanding tasks, namely FRAMEWORK OVERVIEW, GRADED EXAMPLES, CUSTOMIZATION POINTS, DESIGN INTERNALS and COOKBOOK AND RECIPES.

Consequences

Methodical approach. A methodical investigation proves more effective than a chaotic one. By defining a course of action the chances of reaching an answer faster, increase.

Personalized cognitive process. Navigate freely along the abstraction levels until you feel satisfied with the things you’ve learned. Your mental model will progressively increase throughout task execution.

Rationale

On the field of Program Comprehension, many researchers have studied how programmers understand programs through observation and experimentation [Sto05][SFM97]. This research has resulted in the development of several cognitive theories to describe the comprehension process. These range from bottom-up [Pen87][SM79], top- down [Brk83][SE84], knowledge-based [Let86] and systematic [LPLS86] converging into an integrated model that frequently switches between all of these [MV95]. This integrated model would serve a wider range of learners as it would give the learner the option of choosing the most effective learning strategy. All of these cognitive models use existing knowledge together with the code and documentation to create a mental representation of the program.

See also

In [SLB98], Schull et al. performs a study of about reading techniques while learning about a framework and divides them into two categories: hierarchy-based and example-based. While the former is mostly used by experienced learners, the latter gains the preference of the most novice learners. Nevertheless, one important conclusion of the study is that the learning process should not be strict and allow the learner to freely choose the way she feels more comfortable with, thus potentially achieving the better results faster.

In [RCM04], an exploratory study was performed on how developers investigate source- code in order to perform a change task. One of the major results of that study was that a methodical investigation of the code of a system was more effective than an opportunistic approach. Nevertheless, this theory does not imply that a purely systematic approach to program investigation is the most effective. Successful subjects also exhibited some opportunistic behaviour.

fudocs/driveyourlearning.txt · Last modified: 2015/07/22 20:35 (external edit)
Trace: evolvingaframework driveyourlearning
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0