Information Technology Reference
In-Depth Information
For example, the Analogy technique can be addressed when a new prob-
lem is introduced. In such cases, it is worthwhile to examine first similar
pre-solved problems, and based on the analogy between the two (or more)
problems, to derive the solution for the new problem.
The discussion facilitated in the MTCS course based on this activity can
relate to the fitness of different problem-solving techniques to the discipline
of computer science. It is also worth discussing connections between different
problem-solving techniques in computer science, e.g., connections between
stepwise refinement (Sect. 5.4.2) and algorithmic patterns (Sect. 5.4.3).
5.3
Problem Understanding
Problem understanding is the first stage of problem-solving processes that leads
to the identification of the problem characteristics. It can be based on analogies to
similar problems and sometimes it yields some generalizations.
In the case of algorithmic problems, this stage can start by recognizing the in-
put categories of the problem and the selection of the required output category for
each input category, respectively. The identification of the input categories actually
indicates that the problem is understood. Each input category is usually treated in a
different subtask, or at least addressed when the algorithm correctness is checked.
Extreme cases should be analyzed as well: sometimes they are included in a specific
category; in other cases, they are treated separately. Activity 31 focuses on this as-
pect of problem-solving processes.
Activity 31: Examination of Representative Inputs and Outputs
The target of this activity is (a) to increase students' awareness of a problem-
analysis process guided by the examination of representative inputs and out-
puts and (b) to acquire pedagogical tools to deliver the importance of this
stage to their future pupils.
• Stage A: Problem development, work in pairs
The students are asked to develop two problems that illustrate the impor-
tance of examining representative inputs and outputs. One problem should
be about basic conditions and loops; it should be relatively simple and
fit learners at their early stages of computer science learning. The second
problem should address more advanced computer science topics, such as, a
two-dimensional array, a list, a stack, or a queue. It is important to empha-
size that even in advanced stages of computer science learning, and maybe
even especially in these stages, it is important to allocate the needed time
for this first stage of solving algorithmic problems.
• Stage B: Presentations and discussion
Search WWH ::




Custom Search