Case study of instructional design in computer science instructional model

Instructional Design Types

1. Spiral

2. Consistent Metaphor

3. Toy Box


1. SPIRAL

Topics in a course are divided up into fragments and the fragments introduced in an order that facilitates student problem solving. Many of the fragments introduce a topic, but do not cover it in detail. 

PROBLEM/ ISSUE

Topics in a course are often interrelated. Too often lots of different topics are required for students to have enough tools with which to solve interesting problems. If we try to do the topics in any "logical" order we tend to get bogged down in details and leave the students bored. Students need to be empowered to solve meaningful problems early in the course.

AUDIENCE/ CONTEXT

This pattern applies to any course in which there are a large number of concepts that must be mastered together.

This pattern can be used in several courses, primarily at the early stages of the curriculum. It can be used (at least) in programming courses, analysis and design courses, and special courses in object technology.

FORCES

Many fields can only be mastered by individually mastering a large number of different techniques that must interact.

Large topics such as programming and design require many parts and much detail to master. Developing these in a sequential manner leaves the students without interesting exercises, as they have not seen enough of the breadth of the topic to do interesting things.

Students like to build things and they like to see how the pieces fit together. They get bored easily if instruction is repetitive and if the instructor spends too much time on one topic or a set of closely related topics. Students can also get bored if exercises are artificially contrived to illustrate arcane details.

Courses do not need to be organized like reference material. Nor should textbooks be.

SOLUTION

Organize the course to introduce topics to students without covering them completely at first viewing so that a number of topics can be introduced early and then used. This can get students working on interesting problems earlier as they have more tools to use, though they have not, perhaps, mastered any of the tools. The instructor can then return to each topic in turn, perhaps repeatedly, giving more of the information needed to master them.

On each cycle of the spiral topics are covered in more depth and additional topics are included. The sequencing of the "fragments" is done with an eye to providing students with problem solving skills. Anthony's Mix New and Old suggests the important of mixing new material into what is already known.

The course cycles around to a given topic several times during the term, each time to a greater depth.

DISCUSSION/ CONSEQUENCES/ IMPLEMENTATION

This pattern results in the topics of a course being more fine grained, with just enough of a larger topic introduced at each stage to permit problem solving with other tools/topics which are also, as yet, not completely covered. For example, "iteration" is a big topic. The "while loop" is a small topic, especially if initially introduced with only simple loop tests. Yet the while loop can be used effectively with other constructs to build meaningful programs before iteration is understood in all of its aspects.

To start, the instructor should extract a subset of the material covering several topics that interact. Only simple cases should be introduced at first. The instructor and class move quickly through the topics until an understanding of how the topics interact can be gained. Students then can work with the tool subset on problems. Then more of each of the original topics, with perhaps simple cases of new topics are introduced to deepen understanding of the topics and of their interactions. Students then work on a richer set of problems. This can be repeated as often as necessary.

Students will get a feel earlier for how the pieces fit together. A potential negative consequence for some students, at least, is that some of their questions (What if...?) may need to be deferred.

SPECIAL RESOURCES

The instructor needs a plan, showing the order in which the topics will be introduced and what will be deferred to later cycles.

The instructor must extract subsets of each of the many topics in which the tools introduced can work together in problem solving. Several, increasingly large subsets must be designed. Problems using most of the features of each subset need to be designed. One way to design the subsets is to start with the problem and extract a minimal set of tools necessary to solve that problem and similar problems. The next larger subset can often be designed by thinking about how the original problem could be expanded and its solution generalized.

EXAMPLE INSTANCES

This pattern can be used to teach low level programming structure. For example integer data, assignment statements and simple forms of if and while can be introduced. Problem solving using these topics only can be introduced allowing students to solve simple programming problems. In the second cycle, more can be discussed on each of these topics (else clauses, infinite loops,...).

In analysis and design, simple analysis techniques and tools can be introduced (simple use-case) and then the class can move to simple designs (CRC cards). Students can thus get a feel for the whole process, solving simple problems. The second cycle can introduce simple features of more sophisticated tools as well as somewhat more complex problems.

In object technology courses, simple inheritance can be introduced and used before polymorphism (dynamic binding) is discussed.

CONTRAINDICATIONS

This pattern cannot be used in a small way. A commitment needs to be made to it. If this is not possible or desirable, avoid it entirely.

MICRO SITE WIREFRAME – SPIRAL

Course home page


 

Topic home page 


 

 

Topic Content Page


 

 

Problem/Issue Page


 


Activity page



2. CONSISTENT METAPHOR

When teaching a complex topic outside student's normal experience, find a complex and consistent metaphor for the topic being taught. The basis of the metaphor needs to be known to the students.

PROBLEM/ ISSUE

Especially when teaching beginning students, it is easy to get lost in the details of the current topic. Students then may not see how this topic is related to larger goals. It is also difficult for many students to see quickly how things fit together and make correct predictions about how the technology "should" behave.

AUDIENCE/ CONTEXT

You are teaching a complex topic, such as object-oriented thinking. The topic has many parts, some of which are quite detailed. The students need a way to think of the topic as a whole, but the topic is highly technical and outside their experience.

FORCES

You want to give your students a powerful and consistent shorthand for thinking about some complex topic. The shorthand should relate the topic being taught to things within their experience.

Students may get lost in the detail easily and fail to see the big picture and how the parts relate to each other. This is especially true when the details themselves are unfamiliar and new to them.

It is helpful when learning new topics to relate new ideas to already familiar ideas.

It may take you a long time to teach all of the elements of the topic under review. 

You want students to have an idea about what is happening within a system that permits them to make valid inferences about what should happen.

SOLUTION

Create a metaphor that is consistent with the topic being taught, and with the same basic elements that interact in the same way. Give this to the students as a way to think about the topic. The metaphor must allow students to make valid inferences about the topic by thinking about the metaphor.

DISCUSSION/ CONSEQUENCES/ IMPLEMENTATION

The instructor must know the limits of the metaphor and communicate these to the students, so that they don't make improper inferences.

A metaphor can be used for a small element of a topic or to give a view of the overall landscape. It is most useful when valid inferences can be drawn from it.

The basis or the metaphor itself must be well known to the students.

SPECIAL RESOURCES

Discussion groups are useful in exploring metaphors among educators and for finding the limits of particular metaphors.

EXAMPLE INSTANCES

(Human Powered Vehicle) One of the most powerful ways to teach about objects and their properties is to imagine that each object in a system is a person. The metaphor shares the following with an object system:

People and objects are autonomous actors.

People and objects respond to messages.

How a person or an object handles a message depends on the receiver and not on the sender of the message.

There are different kinds of people and objects (Doctors, Lawyers…). Just because a person or an object can respond to the same massages as another object, doesn't mean that it is necessarily of the same kind.

Different people and objects of the same kind respond to a given message in the same way.

People and objects have a current "state" that can change over time and may effect how a message is handled.

The only way to get a person or an object to carry out a request is to ask (send a message).

A person or an object may receive a message requesting some service and may in turn request help from another person/object, so that a "server" in one transaction may become a "client" in another.

On the other hand, the metaphor breaks down in a non-concurrent system as objects interact sequentially, while people always interact concurrently.

(White Box) In systems building, it is sometimes possible to build in such a way that information system components directly model components of the business process being handled. In this case, the real world system becomes a metaphor for the information system being built. While this may not be the dominant mechanism of object-oriented system building today, it is still useful for beginners who need help initially in finding the objects in a system being modeled.

(CPU) Modern computer systems are seldom exactly like the memory model that many instructors give their students to think about the nature of computation in imperative languages. The simple model, however is usually good enough for most purposes. Notice that this is an abstract metaphor. 

MICRO SITE WIREFRAME – CONSISTENT METAPHOR

Course home page




Content Page



Problem/Issue Page


 

Activity Page



3. TOY BOX

The intent of this pattern is to give the students broad historical and technological knowledge of the field by letting them "play" with illustrative pedagogical tools.

PROBLEM/ ISSUE

Students often have no real concept of the breadth of application of computer science or of its basic theoretical underpinnings such as Turing Machines. Since we have to teach a lot of things, it is often difficult to give this breadth to the students if we want to give them the required depth of understanding. 

AUDIENCE/ CONTEXT

The pattern can be used in several courses and at several levels. It can be used very early in programming courses and in teaching upper level courses as well.

FORCES

Students must deal with a great amount of detail. Sometimes it obscures how the detail is to be used.

Many applications of computer science are very complex and outside the skill level of novices to absorb completely.

While we are teaching programming, it is nice to let the students program with things that will teach them some simple ideas from courses that they will encounter later in the curriculum.

Students have to program with "something." Often it is just integers and floats at the beginning. It could be things more exciting to them and which teach them on a variety of levels simultaneously.

We would like to be able to use our contact time with the students as efficiently as possible. On the other hand, students need to work on problems.

SOLUTION

Prepare application skeletons, each of which is from some key area such as as database or spreadsheet. Each skeleton forms the framework for student activities and exercises and each embodies in the simplest possible way the key idea of that key area. While the framework embodies the key idea in a simple way, these can build on each other so that they can become quite complex overall if they take advantage of lessons learned earlier.

Students examine and interact with these specially written, scaled down, examples of realistic applications such as word processors, database management systems, and spreadsheets. These applications are reduced down to their simplest form possible.

Choose student exercises to give the students a rich set of experiences about what can be done and what is important in computer science. These exercises are supported by a library of instructor provided materials that make learning fun. Finite Automata and Turing Machines can be introduced this way in the first courses.

Give students a library of classes that can be used to implement some complex functionality. These are the building blocks. They then use them to build some artifact. Instead of programming with integers and arrays, they program instead with logic gates, for example. You need to prepare some classes in advance to enable this, however.

Distribute a class library that implements the basics of some functionality. The students may either use this unchanged or extend it and use the extended version to build some project. Care must be taken that the hierarchy is soundly built, demonstrating excellent techniques, and excellent structure.

DISCUSSION/ CONSEQUENCES/ IMPLEMENTATION

In object oriented programming courses this is especially useful, as classes provided by the instructor can and should be used by students in any case. These can be carefully chosen to emulate larger systems.

This pattern allows students to actively work with larger programs than they can develop completely themselves. If the tools are chosen correctly, they can also gain breadth of understanding of the entire field. If the class hierarchy is well built it also serves as a good model for students building their own classes and hierarchies later, though the intent is not to teach OOP specifically.

SPECIAL RESOURCES

Fairly rich hierarchies of classes implementing the tools must be supplied by the instructor. This is labor intensive, but resources can easily be shared.

EXAMPLE INSTANCES

A set of classes that implement logic gates and circuits. Gates can be connected together to form circuits.

An assembly language simulator that lets students get familiar with goto/register programming without all the details of a real machine.

An extension to the above that shows some of the problems with concurrency. A set of classes that let students experiment easily with readers/writers conflicts, for example.

A simple game with complete information that plays against the user but learns from its mistakes.

A simple spreadsheet like program. The program can store "programs" in cells using the simple assembly language of earlier "toys".

A set of classes implementing a simple relational database that can be queried with a simple language.

Some of these things are complex, but with appropriate scaffolding, even beginning students can use and extend the tools appropriately.

CONTRAINDICATIONS

This requires a fairly long lead time and a lot of effort on the part of instructors, creating and finding materials. Don't try to use this pattern without commitment of time and resources.

MICRO SITE WIREFRAME – TOY BOX

Course home page



Problem/Issue Page


 

Activity Page



 

Forum Page



 



Última modificación: sábado, 8 de febrero de 2020, 08:22