Copyright © 2009 Corvus International Inc.  All Rights Reserved

Home      About Corvus       Contact Us       Articles/Resources       Clients          Affiliations  

Between the idea and the reality...
...falls the shadow

T.S. Eliot
from The Hollow Men



ACM DL Author-ize serviceClosing the learning application gap
Phillip Armour
Communications of the ACM - Why CS students need math, 2003

Scientist Think Up, Engineers Think Down               

Scientists and engineers share much in common, but one thing that is different is how they learn.  Given a proposition at some level of abstraction, a scientist will typically think "I wonder what abstract domain of logical reasoning explains this behavior?..." while an engineer will think "I wonder how I can build something that does this?..."  The scientist thinks "up" to higher levels of abstraction, the engineer thinks "down" to implementation.

Strata of Learning                           

The things we learn and how we learn them can be "stratified" into levels and types of learning (these are related to the abstraction levels of knowledge, which is a subject for another day). 

Thinking in terms of the learning the might occur when building a software system, these levels are:

These levels overlap considerably, and a specific instance may fall in one or several areas. 

Conducting Training and Learning                       

The Learning Application Gap                       


When training activities are designed and rolled out there are some built-in conflicts of interest and limitations:

More generic is better--from a delivery perspective, the most "cost effective" training events are programs that can be delivered many times to a large number of people across a wide range of constituencies and domains.  This invariably means that the training program is more generic.


More specific is better--from a usefulness perspective, the most "valuable" training is one that specifically focuses on the particular task the engineer is trying to do under the particular conditions the engineer is trying to do it.  This invariably means that the training program is more specific.


Generic is easier--from an instructional design point of view, more generic situations are much easier to design, since the content can be more easily controlled.  It also means that the higher order (the scientist's view) "rules" are more clear.


Specific is focused--specific training is closer to the "real world" and more applicable to the reason the engineer is being trained.  It also means that the specific implementation of the rules (the engineer's view) is more clear


Training is usually designed by training types--just as software process is often designed by people who do not follow the software process they design, software engineering is often designed by training people who do not actually implement the lessons they design and teach


Curricula are designed by scientist types--at the college level, this is particularly true.  Computer science and software engineering curricula are often designed by scientists for whom the generalized rule is the most important thing.  They are delivered to engineers for whom the application of the rule is the most important thing.



This is the biggie.  Even the "best" training design must be somewhat generic and the application of that training must be specific. 


The distance between where the generic training leaves off and the specific application is applied is the Learning Application Gap.


This distance is a direct measure of the usefulness and applicability of any training design

* And there are ways to shorten this gap!

Closing the Learning Application Gap