Information Technology Reference
In-Depth Information
5
Problem-Solving Strategies
Abstract
Problem solving is one of the central activities performed by computer scientists
as well as computer science learners. However, computer science learners often
face difficulties in problem analysis and solution construction. Therefore, it is
important that computer science educators are aware of these difficulties and ac-
quire appropriate pedagogical tools to help their learners gain experience in these
skills. This chapter is dedicated to such pedagogical tools. It presents several
problem-solving strategies to address in the MTCS course together with appro-
priate activities to mediate them to the prospective computer science teachers.
5.1
Introduction
Since programming is a problem-solving process, problem-solving skills must be
a core idea of any introductory computer science course. However, whereas the
teaching of programming languages is usually well-structured within a curriculum,
the development of learners' problem-solving skills is largely implicit and less
structured. Therefore, we find it relevant to include this topic in this guide.
Problem solving is a complex mental process. This inspection can be easily
observed by looking, for example, at the problem-solving techniques listed at Wiki-
pedia: abstraction, analogy, brainstorming, divide and conquer, hypothesis testing,
lateral thinking, means-ends analysis, method of focal objects, morphological anal-
ysis, reduction, research, root cause analysis, and trial-and-error.
Problem-solving processes are common to many disciplines. In the mathematics
education research community, for example, an intensive discussion takes place about
problem-solving processes and techniques, as well as on learners' difficulties and
ways of teaching problem-solving strategies (see, e.g., Polya 1957 ; Schoenfeld 1983 ).
Search WWH ::




Custom Search