"Levels" of Understanding
When we build a curriculum, we have to carefully evaluate course objectives. In considering a specific course, we need also consider what I call the "appropriate level of understanding" we expect students to achieve within the course.
For example, I am currently working on an on-line course with its major objectives of introducing Visual Studio and understanding some fundamental programming concepts using Visual Basic. There are always more things that we want to cover but cannot because there is simply not enough time (this is where the intermediate and advanced courses take over). I like to use the terms concept understanding, working understanding, and expert understanding. Concept understanding means that someone understands a concept and sees it value. One might be able to create an example or two of the concept but probably not much more. Working understanding means that a person can use the technology and make productive use of it. Expert understanding means that a person "really" understands the concept to the point where they might want to extend it or might be able to apply it outside the context where it is typically used. For an introductory course, we need to focus on "concept understanding". For example, consider regular expressions; they are really rather tough to understand at a "working level" but their value can certainly be perceived "conceptually". In an introductory level course, I see my job as making the student aware of regular expressions and what they are used for; give them a chance to try them out (perhaps by using the Web Validation controls). An intermediate course would pick up on the value of the concept and provide more "working" understanding.
Often a course design does not appear to have considered these levels of understanding and thus, ends up going too deep or too shallow. Of course, a course does not live in a curriculum in isolation - it must be designed so that by the time the student has finished a course sequence, the appropriate level of understanding has been achieved. It is also important to define a curriculum's overall level of understanding. My personal opinion is that achieving a concept and working understanding is possible in a formal educational setting. On the other hand, expert understanding really requires "on-the-job training" and a lot of experience. This can be obtained within a university environment but not without the active participation of business community giving students access to "real" problems using intern opportunities or other similar programs.