Information Technology Reference
In-Depth Information
• Stage C: Individual reflection (submitted online)
1. In what ways is your list of soft skills similar to those of your classmates?
2. Suggest five habits of teaching that you will adopt as a Computer
Science teacher to promote the soft skills of your prospective students.
3.6
Programming Paradigms
A paradigm is a way of doing and seeing things, a framework of thought in which
one's world or reality is interpreted.
11
The concept paradigm became popular in
the scientific world mainly following Kuhn's book
The Structure of Scientific
Revolution
(Kuhn
1962
), in which he used this term with respect to a concep-
tual world view that consists of formal theories, classic experiments, and trusted
methods.
The topic of
programming paradigms
is a multifaceted notion and includes as-
pects of mental processes; problem-solving strategies; interrelations between para-
digms, programming languages, programming style, and more. We note that while a
programming paradigm is a heuristic for solving algorithmic problems, a program-
ming language is a means of expression for a programming paradigm.
The concept of programming paradigm is defined in different ways (see, e.g.,
Abelson et al.
1996
; Ambler et al.
1992
; Floyd
1979
; Sethi
1996
; Tucker and
Noonan
2002
; Van Roy and Haridi
2004
; Watt
1990
), each emphasizing different
aspects of the concept. The following definition, for example, which is composed of
several of the resources mentioned above, summarizes the major points:
Programming paradigms are heuristics used for solving algorithmic problem. A
programming paradigm analyzes a problem through specific lens, and based on this
analysis, formulates a solution for the given problem by breaking the solution down
to specific building blocks and defining relationships among them.
We mention several major programming paradigms: procedural (imperative),
object-oriented, functional, logical, and concurrent.
Many researchers emphasize the importance of both teaching the subject of pro-
gramming paradigms to students and exposing students to a number of program-
ming paradigms (Carey and Shepherd
1988
; Floyd
1979
; Haberman and Ragonis
2010
; Van Roy et al.
2003
). We mention three reasons that explain the importance
attributed to the learning of several programming paradigms: the development of
cognitive tools, the ability to explore the same concept/problem within different
paradigms improves learners' understating of the said concept/problem, and increas-
ing learners' flexibility in problem-solving processes of different kinds of problems.
At the same time, there are programming language courses that emphasize the
programming language aspect, while less attention is paid to the programming para-
digm aspect. This can be explained by the fact that the concept of a programming
11
Based on Stolin and Hazzan (
2007
).
Search WWH ::
Custom Search