Information Technology Reference
In-Depth Information
In some cases, learners develop problem-solving strategies by themselves. For
example, children invent simple addition and subtraction strategies long before they
learn arithmetic at school. But, without some formal instruction of effective strat-
egies, even the most inventive learner may resort to unproductive trial-and-error
problem-solving processes. Hence, it is important to teach problem-solving strate-
gies and to guide teachers how to teach their pupils this cognitive tool. Due to the
centrality of problem-solving processes in the discipline of computer science, this
assertion is especially relevant for computer science education.
The attention for the need to explicitly teach problem-solving strategies is ex-
pressed also in the development of computerized tools designed for that purpose.
For example, to meet the learners' individual problem-solving strategies, their solu-
tions, and their perceptions, a research project done by Kiesmller ( 2009 ) draws de-
sign guidelines for a learning environment that can identify and categorize several
problem-solving strategies automatically. The target is to give the learner feedback
and guidelines according to his or her own problem-solving skills and to guide
them accordingly to their thinking processes tendency. Hasni and Lodhi ( 2011 ) sug-
gest guidelines to design lab exercises that guide learners through the problem-
solving process. The emphasis is on defining detailed steps that scaffold the learners
throughout the process. These steps are reflected in Sects. 5.3, 5.4, 5.5 and can be
interpreted as an implementation of this approach.
This chapter highlights the perspective according to which computer science
educators should be aware of problem-solving strategies and acquire pedagogi-
cal tools to help their learners acquire this kind of skills. The chapter is dedicated
to these pedagogical tools and presents several agreed-upon illustrative problem-
solving strategies to address in the MTCS course, and mediate them by appropriate
activities. It also addresses some new ideas related to looking at computer science
problem solving.
Our discussion focuses mainly on algorithmic problems 1 , since most of the pro-
spective computer science teachers will probably teach these kind of problems in
their high school teaching.
With respect to most of the ideas presented in this guide, it is important to deliver
to the students enrolled in the MTCS course that all the strategies explored in the
context of this chapter can be implemented in any programming paradigm and/or
programming language. Further, it is important to highlight that problem-solving
strategies are not restricted to programming tasks.
5.2
Problem-Solving Processes
A basic problem-solving process, in any discipline, starts with outlining the prob-
lem requirements, and terminates with outlining a solution that, in some cases, is
expressed by a sequence of steps (an algorithm) that solves the problem. In com-
1 An algorithmic problem is defined by what is given—the initial conditions of the problem, and
its goals—the desired state, what should be accomplished. An algorithm problem can be solved
with a series of actions formulated formally either by pseudo code or a programming language.
 
Search WWH ::




Custom Search