Pedagogical Pattern #3
Lecture-Examples-Activity-Student Presentation-Evaluation
(Version 2.0)
Martin L. Barrett
Department of Computer and Information Sciences
East Tennessee State University
Box 70711
Johnson City, TN 37614-0711 USA
barrettm@etsu.etsu-tn.edu
Intent:
To introduce class modeling.
Motivation:
Few students in an introductory class have experience with data
modeling. When presented with a modeling task, their main
problem is where to begin. Some introductory instruction followed by
group work and evaluation can provide a framework for modeling.
Applicability:
The pattern is used to introduce class modeling. It can be reused
as students gain more experience for high level program design
and implementation.
Structure:
Lecture: An overview of class modeling using language-based
recognition techniques, followed by ratings of importance
and by classification, is given in a short lecture.
Natural language-based recognition translates certain parts of speech into
candidate classes, objects, methods, and attributes.
Examples: Several example analysis models are done with the whole class,
with discussions of other possible choices and rationales given
for the decisions made. Brainstorming is used for data
gathering, followed by analysis, and finally an evaluation of the
proposed solution. This method is based on
entity-relationship modeling as done in the Shlaer-Mellor methodology.
Repeated Activity: Students work in a small group setting.
Several analysis problems are used. Each consists of requirements
statements for a real world problem. The group must work out
a reasonable class structure with the methods used in the examples.
Again, emphasis is on brainstorming for the data and the proposed
class structures. As students gain experience with the method,
more complicated problems using more complex class relationships can
be used.
Student Presentation: One student from each group presents her/his
group's solution, including justifications for each decision.
Only one sample answer to each problem is given unless a group feels
its answer is significantly different from the presented answer.
Students analyze and critically evaluate the proposed solutions.
Evaluation: The entire class, led by the instructor, discusses each
solution and suggests possible alternatives.
The following are among the points to evaluate:
the translation from words to OO entities; the relative weighting of
importance of the entities; the relationships among the entities;
the level of detail of the model; and the feasibility of the proposed
solution.
Consequences:
This pattern:
- Gives students a low-risk method for proposing solutions to analysis problems through brainstorming and repeated problems.
- Emphasizes analysis as a group activity.
- De-emphasizes implementation as the main programming activity.
- Provides students with opportunities to present and defend their work.
- Exposes students to other's solutions and thoughts on similar problems.
Implementation:
- Instructor needs to encourage full participation in group
activities.
- A good set of problem specifications must be developed. They may
include non-computing real world problems. However, their scope
should remain small enough to be tractable.
- Class time for this activity must be allocated from other
activities; in particular, this activity, as will most small group
activities, will take more time relative to the outcomes gained than
lecturing on the same material.
- The activity's emphasis is on data modeling and class/object
relationships at the expense of modeling control, timing, and
algorithms. Other activities must be used to cover this material.
Example Instances:
This pattern has been used to teach:
- Introduction to OO concepts
- OO analysis
- OO design
Resources Needed
None.
Related Pattern:
LASD