Information Technology Reference
In-Depth Information
puter science, in many cases, the algorithm is coded into a programming language
and is tested by the code execution. The difficult stages, however, lie in between:
how to move from the requirement understanding to the problem solution. These in-
termediate stages can be viewed as a discovery process; therefore, problem-solving
processes are sometimes treated as a creative process, as an art.
Commonly recognized stages of problem-solving processes are listed below.
Needless to say that in most cases, problem-solving processes are not linear and
intertwine the different stages described below:
1. Problem analysis . Understand and identify the problem, understand what the
problem is about. If one does not understand the problem, one cannot proceed
and solve it (see Sect. 5.3).
2. Alternative consideration . Think about alternative ways to solve the problem.
3. Choosing an approach . Choose an appropriate approach to solve the problem.
4. Problem decomposition . Decompose the problem into subtasks.
5. Algorithm development . Develop the algorithm in stages according to the recog-
nized subtasks (see Sect. 5.4).
6. Algorithm correctness . Check the algorithm correctness (see Sect. 5.5).
7. Algorithm efficiency . Calculate the algorithm efficiency.
8. Reflection . Reflect on and analyze the process you went through, conclude what
can be improved in future problem-solving processes (see Sect. 5.6).
Though defined rules how to perform these stages do not exist, we can scaffold
computer science learners by several methods/strategies that may help them cope
with this process. From this perspective, problem-solving processes can be clas-
sified as soft ideas (see Chap. 3). Activity 30 addresses several problem-solving
techniques in computer science.
Activity 30: Problem-Solving Techniques in Computer Science
The target of this activity is to increase students' familiarity with different
problem-solving techniques within the computer science discipline. This
activity can be the first one in the discussion about problem solving, but can
also be facilitated as a summary activity for this subject. 2
Students are asked to work in small groups (of 2-4 students) and to look at
a list of problem-solving techniques given either in Wikipedia (as mentioned
at the beginning of Sect. 5.1) or in other resources (e.g., Vasconcelos 2007 ).
Each group selects five problem-solving techniques which are commonly
used in computer science problem-solving processes, and for each one of
them describes at least two computer science class situations in which it can
be addressed.
2 In advanced computer science classes, it is relevant to mention that in computer science, in ad-
dition to the development of problem-solving strategies, special emphasis is placed also on non-
solvable problems (see Chap. 9).
 
Search WWH ::




Custom Search