constructivist-based framework for teaching computer science
Post on 07-Apr-2018
219 Views
Preview:
TRANSCRIPT
8/4/2019 Constructivist-Based Framework for Teaching Computer Science
http://slidepdf.com/reader/full/constructivist-based-framework-for-teaching-computer-science 1/7
Constructivist-Based Framework for Teaching
Computer Science
Anuja Meetoo-Appavoo
Faculty of EngineeringUniversity of Mauritius
anuja.meetoo@uom.ac.mu
Abstract— The business world is constantly evolving and isincreasingly complex. Computer science graduates are expectedto demonstrate competencies to efficiently solve businessproblems and communicate intelligently with IT professionals.However, education has been criticised for failing the task. The
traditional method of teaching may not be appropriate for
teaching computer science and meet the requirements of thebusiness world. Constructivism provides an alternativefoundation for rethinking and redesigning teaching practices.
This paper proposes a constructivist-based framework forteaching computer science that exploits students’ existingknowledge from real-life and explicitly addresses the process of knowledge construction. It eventually fosters further growth anddevelopment of the students’ mind.
Keywords-component; Learning theories, constructivism, computer science education, framework.
I. INTRODUCTION
The business world is constantly evolving and is
increasingly complex. Computer science graduates areexpected to demonstrate competencies to efficiently solve
business problems and communicate intelligently with ITprofessionals. Creativity and creative thinking [1] are vital
skills for graduates to be prepared for the knowledge society.
Hence, the goal of education [2] in this new age is to prepare
students to use their skills to solve real-world problems rather
than train them to store and retrieve mastered information.
However, education has been criticised for failing the task.One common reason cited is that the learning experience
provided at the University is so different from the experience
in the real world that students cannot transfer the skillsbetween the two environments. From a different perspective,
concepts and theories are difficult to learn because they are not
observable. Moreover, the field of computer science is ever-
evolving. New developments in software and hardware [3] are
changing the way we write programs, design systems, andcreate applications. Therefore, the traditional teaching
approach with charts, figures, drawings, graphics and
PowerPoint presentations is inadequate for this discipline. This
paper presents a constructivist-based framework for teachingcomputer science in the modern era and eventually meeting
the requirements of the rapidly changing and complex
business world. The framework exploits students’ existing
knowledge from real-life and explicitly addresses the process
of knowledge construction.
Section 2 gives an overview of the relevant learningtheories, namely behaviourism, cognitivism andconstructivism. Section 3 explains the importance of constructivism in Computer Science education. Section 4discusses the features of the proposed constructivist-based
framework for teaching computer science. Section 5 reviewsthe learning environment, the Lecturers’ role and the students’role in the proposed framework and finally section 6 concludesthe paper.
II. LEARNING THEORIES
Learning theory refers to an attempt in describing how
people and animals learn, thus promoting an understanding of
the inherently complex process of learning. Learning theories
[4] have largely influenced classroom-based pedagogy. Thissection reviews the relevant learning theories, namely
behaviourism, cognitivism and constructivism. A more
detailed review of constructivism is given since it is the
foundation of the proposed teaching framework.
A. Behaviourism
Behaviourism [2, 5] is based on the principle of “stimulus-
response”. It [6] views the mind as a “black box” in the sense
that response to stimulus can be observed quantitatively,
totally ignoring the possibility of thought processes occurringin the mind. In behaviourism, learning is the acquisition of
new behaviour through either classical conditioning, where the
behaviour becomes a reflex response to stimulus as in the case
of Pavlov’s Dogs, or operant conditioning, where there is
reinforcement of the behaviour by a reward or a punishment.
Lecturers [2, 7] generally break a module content into sub-topics, sequence them, and transfer them, primarily through
lecture format, to students. The students passively accept
information and knowledge, and require external motivation.
The focus is on the content not the learner or learning
experience. Behaviourism is based on the assumption that
once the students have been apprised of the topics, they canput them together as a whole and apply them when required.
While this method has been the basis of education for
centuries, it has major drawbacks. The primary criticism [4] is
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 9, No. 8, August 2011
25 http://sites.google.com/site/ijcsis/ISSN 1947-5500
8/4/2019 Constructivist-Based Framework for Teaching Computer Science
http://slidepdf.com/reader/full/constructivist-based-framework-for-teaching-computer-science 2/7
that learners have few opportunities to develop critical and
reflective skills, which are vital in today’s business world.
B. Cognitivism
Cognitivism [5] superseded behaviourism in 1960s and
became the dominant paradigm. Cognitive psychologists
challenge the limitations of behaviourism in its focus on
observable behaviour. They argue that the “black box” of the
human mind must be opened and understood, and that mentalprocesses, such as thinking, memory, knowing and problem-
solving, must be explored. Cognitivism [2, 5] focuses directly
on the structure and operation of the human mind. Humans arenot “programmed” beings who merely respond to
environmental stimuli, but they are rational beings who
require active participations in order to learn and whose
actions are a consequence of thinking. Cognitivism use themetaphor of the mind as a computer – information comes in, is
processed, and some outcome is generated. Changes in
behaviour are still observed, but only as an indication of what
is occurring in the learner’s mind.
C. Constructivism
Constructivism [2] is an outgrowth of cognitive science. It
combines cognition from a developmental perspective with
other important issues, such as motivation, self-directed
learning and emphasis on the social context of learning. It [6]
focuses on preparing students to solve problems in ambiguous
situations. This learning theory [8] (1) promotes the use of
curricula customised to the students’ prior knowledge, (2)emphasises hands-on problem solving, (3) requires Lecturers
to tailor their teaching strategies to student responses,
encourage students to analyse, interpret and predict
information, rely heavily on open-ended questions and
promote extensive dialogue among students, and (4) requiresassessment as part of the learning process. It is often
associated with pedagogic approaches that promote activelearning or learning by doing.
According to von Glasersfeld (1996) [2], there are two
main aspects of constructivism. First, learning is a process of
knowledge construction instead of absorption. Constructivism[4, 6, 9, 10] claims that students actively construct new ideas
or concepts based upon current and past knowledge or
experiences, rather than passively receive and store knowledge
transmitted by the Lecturer. Learning is a dynamic process anda method of adjusting one’s mental model to accommodate
new experiences. Therefore, each student [2] constructs a
different meaning or concept based on his or her own
perceptions and conceptions. The second main aspect of constructivism is similar to situated leaning that emphasises
social interaction. From the constructivist point of view, a
classroom is a community engaged in activity, reflection and
conversation, and dialogue within a community promotesfurther thinking. Moreover, constructivism recommends
engaging students in building objects and manipulating them.
As such, the effects can be observed, making visible
presentation of the concepts. It also allows students to raisetheir own questions, generate their own hypotheses, and test
the hypotheses. In addition, object displays ensure that all
students are talking about the same thing and have a visible
reference for discussion. Constructivists also maintain that for
students to achieve advanced knowledge acquisition, multiple
presentations that revisit the same concepts in different context,
at different times, and for different purposes are essential to
obtain mastery.
The influence of constructivism [11] has extended beyondthe research and scholarly community and has had an impacton national curricular documents and national education
statements such as the US National Science education
Standards and the New Zealand National Science Curriculum.
Curriculum in Spain, UK, Israel, Canada and Australia has
also been influenced by constructivism in varying degree.
III. IMPORTANCE OF CONSTRUCTIVISM IN COMPUTER
SCIENCE EDUCATION
Computer science students cannot be taught how to solve
all computational problems since these are unpredictable and
there is no predefined systematic way to solve all problems.
Moreover, computer science is an ever-evolving area. Newdevelopments in software and hardware [3] are changing the
way we write programs, design systems, and create
applications. Hence, it will not be sufficient if, for example,
students are only taught the syntax and semantics of a
programming language without getting acquainted to problemsolving, in particular how to solve real-world problems, and
learning how to develop a probing mindset. Besides learning
the tools [12], students must also be able to use them to solve
any computational problem. Prolux (1996) [3] proposes a first
year curriculum model that has strong emphasis on design,
programming in a structured project based environment and on
the extensive use of tools, libraries and templates.
Today’s software packages [9], both those intended for the
general public such as word processors and professional
software such as integrated development environments,
display dozens of icons. Although it is believed that icons arebetter than text, from a constructivist point of view the
construction of a mental model of the object it represents is
more important than the sign that denotes it. Icons are intuitive
only if the analogy between the object shown and the object
represented is perfect. However, Glynn (1991) [19] showed
that analogies are rarely, if ever, perfect. For instance, onemust have a mental model to understand the concepts behind
the icon “paste” in Microsoft Word. Thus, constructivistsargue that, when introducing students to Microsoft Word, the
steps involved in the operations performed by the icons must
be clearly explained so that students can construct an effectivemental model of what they represent.
What You See Is What You Get (WYSIWYG) is another
concept that can benefit from constructivism. Help files and
tutorials [9] must explicitly address the construction of a
model and not limit themselves to behaviourist practices of the
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 9, No. 8, August 2011
26 http://sites.google.com/site/ijcsis/
ISSN 1947-5500
8/4/2019 Constructivist-Based Framework for Teaching Computer Science
http://slidepdf.com/reader/full/constructivist-based-framework-for-teaching-computer-science 3/7
form “to do X, following these steps”. If the underlying model
is not available, students may be reluctant to try new or
advanced features. Students must learn how to access and use
online and offline helps and tutorials. These sources can be
used to clarify doubts or learn new features of the software
being used. Moreover, students must be encouraged not to
passively follow the steps but to understand the reasoningbehind each concept. When students are shown how to
perform a particular operation in the computer laboratory (lab),the idea behind each step must also be made clear to them.
Many students [9] find the study of computer science
extremely difficult, especially at elementary levels. Some
primary concerns are that students (1) find the concept of
variable extremely difficult, and (2) find inappropriate
conflation of the concept of an object with other concepts like
variable, class and textual representation. Ben-Ari (2001)
made a survey on constructivism and argued that this theory
can be applied to teach many concepts in computer science.
IV. CONSTRUCTIVIST-BASED FRAMEWORK FOR COMPUTER
SCIENCE
EDUCATION
A constructivist-based framework is proposed for teaching
computer science in the modern era and eventually meeting
the requirements of the rapidly changing and complex
business world. The framework exploits students’ existingknowledge from real-life and explicitly addresses the process
of knowledge construction. This section discusses the learning
environment and the roles of the Lecturers and students in the
proposed constructivist-based framework.
A. Learning Environment
The learning environment in the framework will consist of
five aspects identified [2] by Perkins (1992), namely (1) an
information bank that is any resource providing information
pertaining to a particular topic, e.g. Lecturer, textbook, video,
or the Internet, (2) symbol pads that are surfaces for the
construction and manipulation of symbols, e.g. notebooks,
word processors and drawing software applications (3)
construction kits that are sets of modular parts that studentscan use to construct things, e.g. Legos and laboratory tools, (4)
phenomenaria that are artificially limited arenas where
students can investigate phenomena, e.g. computer simulations,and (5) task managers that are agents that guide the learning
activity and provide feedback, e.g. the Lecturer and texts.
From the constructivist point of view, students not only
receive and store information but also make interpretations of
experience and elaborate and test those interpretations. Thus,
the information bank loses focus. A construction kit or aphenomenaria is at the heart of such a learning environment
since they provide tools that enable students to understandnew information. Students are given much more task
management responsibility. An atmosphere of playfulness is
vital in the class to motivate students, make them attentive and
release frustration.
B. The Lecturers’ Role
Lecturers will be required to apply teaching techniques [2]
that support construction of students’ understanding, and makeconcepts and phenomenaria interesting and important to
students. Concepts must be presented in realistic and
meaningful contexts and interconnections between concepts
must be made explicit. The same concept must be emphasized
several times since no single presentation is sufficient to
provide all pertinent information. Furthermore, Lecturers mustask questions and listen carefully to students’ interpretations
of the concepts introduced. The Lecturer must perceive errors
as the result of the students’ current conception and guide
students in the right direction. To handle students’
misconceptions, a different presentation of the topic may be
provided to allow students to discover their errors andconstruct the correct concept. Object manipulation will play an
important role in making concepts as well as misconceptions
visible.
C. The Students’ Role
Students [2] are at the core of the learning process. Three
demands are imposed on students, as indentified by Perkins(1992), namely cognitive complexity, task management, and
acceptance of the approach. Students are confronted with
construction kits or phenomenaria that are complex and
challenging. Instructions present students with situations withthe intention to make them examine their existing knowledge
and structures, and force them to reorganize and construct new
models. They do not simply memorise lecture contents and
repeat them on tests and examinations, but are responsible for
defending, proving, justifying and communicating their ideas
to the class. Thus, learners have high cognitive demands.
Secondly, students have more responsibility for task management to enable them to eventually become autonomous
thinkers and learners. However, many students are not used tomanage their own learning. The Lecturers must provide the
appropriate amount of guidance, although not too much, to
help with cognitive complexity and task management. Forlarge cohorts of students, working in groups can be helpful.
Thirdly, many students may not buy in the constructivist
approach that requires them to think about concepts as well as
the process of learning the concepts. They may not want to do
the hard work of constructing their understanding and taking
the responsibility of managing their learning. From theirperspective, they are asked to discover concepts for
themselves when they could be told about the concepts, do
some exercises and move on.
V. FEATURES OF THE PROPOSED FRAMEWORK
This section describes features of the proposed framework.
A. Curricula Customised to students’ Prior Knowledge
Constructivism claims that students actively construct new
ideas or concepts based on their current and past knowledge or
experiences, and that learning is the process of adjusting one’s
mental model to accommodate new experiences. As far as
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 9, No. 8, August 2011
27 http://sites.google.com/site/ijcsis/
ISSN 1947-5500
8/4/2019 Constructivist-Based Framework for Teaching Computer Science
http://slidepdf.com/reader/full/constructivist-based-framework-for-teaching-computer-science 4/7
possible, the content of a lecture must be customised to the
students’ background and at the same time meet the specified
objectives of the lecture. In the first lecture, each student can
be asked to introduce themselves and share with the class their
experiences in the particular field, either from previous
courses followed or employment. This will give the Lecturer
an indication of the students’ prior knowledge. It will also helpstudents to know each other and create a unique community of
learning among the students. The sense of communityestablished will encourage discussions throughout thesemester. Discussion and clarification will help students
construct and reorganise their concept structures. Moreover,
each lecture must be related to the previous ones, i.e. to
concepts already known by students. At the start of each
lecture, a recap of the preceding lecture can be made and the
new topic introduced as a continuation to the previous lecture.
Students must use their current knowledge and experiences to
understand a lecture. For instance in programming [13],
students are required to apply the concepts they already know,e.g. concept of variable, together with new ones beingintroduced, e.g. concept of loop, to solve computational
problems.
B. Use Concepts from Everyday Life
The use of concepts from everyday life [11] has a positive
impact on students’ ability to learn, since they understand that
they are familiar with the basic concepts that constitute thetopic being taught. It aids students in exploiting their real life
experience and building on it the conceptual framework
pertaining to the topic being introduced. For instance,
McDonald, a popular international fast-food restaurant chain,
can be taken as example to make evident to students that they
are already familiar with the basic concepts of event handling
and concurrency and that this experience comes from
everyday life. Concepts defined by the terms ‘busy-waiting’
‘deadlock’, ‘starvation’, and ‘mutual exclusion’ are alreadyknown to students from everyday life. Only the terms used to
refer to them and the mechanisms used to implement them in
the programming domain must be introduced. For example,the following situation can be used to introduce the concepts
of concurrency and interleaving.
Alice and Bob are two employees at McDonald. Alice has
been assigned the task of serving customers purchasing
burgers while Bob is responsible to serve clients buying coffee,
assuming that no customer purchases both burger and coffee at
the same time and that there is only one microwave oven at thedisposal of both employees. The resources required to process
each type of order is different, apart from the microwave ovenas shown in Fig 1 below. Students can be asked to providepossible interleaving scenarios for the given situation. They
understand that, for the system to operate properly, it must be
guaranteed that Alice and Bob are not allowed to
simultaneously execute actions related to the use of the
microwave oven, since the latter is a resource that must be
acquired for exclusive use. These actions constitute what is
called the ‘critical section’ of the process. Only after the
students have mastered the concepts that they are presented
with mechanisms of a particular language that will implement
these basic concepts.
Get order from customer
Warm the water
Make the coffee
Prepare the rest of the order
Deliver the order
Get the order from the
customer
Select the burger and prepare
the bread
Warm the bread and burger
Prepare the rest of the order
Deliver the order
(a) Coffee order processing (b) Burger order processingFigure 1. Algorithm for the tasks of Alice and Bob
C. Objectifying Computer Science Concepts
One of the recommendations of constructivism [2] is to
engage students in building objects. Objectifying constructs,
i.e. building physical displays that allow explicit
representation of key theoretical constructs, provide three-
dimensional displays of concepts and thus help students to
better understand the concepts. They are able to manipulate
the objects and observe the effects. Manipulating objects
enable them to raise their own questions, generate their ownhypotheses and test the hypotheses. Object displays ensurethat all students talk about the same thing and have visiblereferences for discussion. Chen [2] argued that students
responded to the new approach in a very positive way. For
example, ropes, key rings and post-it notes can be used to
objectify bus, ring and star topologies. For instance to
objectify a bus topology, each student sitting in the front row
can be asked to hold on to a point of the rope and pretend to be
a computer. Knots at each end of the rope can be tied to act as
terminators. The set up can then be used to discuss the
characteristics of the bus topology, namely how signals travel,
and what happens when a cable breaks or computers break down. This leads to the advantages and disadvantages of sucha topology. At the same time actual cables, connectors andnetwork cards can be presented and made available for
students to manipulate. Post-it notes can be used to denote a
message being transmitted on the network. Questions can be
put to students to encourage them to articulate their thinking
and clarify their ideas.
D. Use of Construction Kits
Construction kits [2] are highly beneficial in assisting
students to assemble concepts like network architectures that
are often confusing for students. Students may be divided into
groups and provided with children building blocks of varioussizes (smaller cubes simulating workstation, larger cube
simulating file servers, and other sizes simulating printers,
switches, routers and other hardware), ropes and strings of
various thicknesses (fishing lines can simulate fiber opticcables while less flexible strings can simulate coaxial cables).
Each group may then be asked to construct different types of network architectures. This allows students to put their
understanding on display. As such their understanding and
misconceptions become observable, and modifying students’
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 9, No. 8, August 2011
28 http://sites.google.com/site/ijcsis/
ISSN 1947-5500
8/4/2019 Constructivist-Based Framework for Teaching Computer Science
http://slidepdf.com/reader/full/constructivist-based-framework-for-teaching-computer-science 5/7
misconceptions become much easier. Hence, students are able
to construct the basic concepts of computer networking. The
same activity can be done when introducing the concepts of
network topologies, local area networks and wide area
networks, to ensure that the basic networking concepts are
presented in multiple passes. For introductory programming
classes, teaching tools, like Alice, can be beneficial. Alice [14]uses 3D graphics and a drag-and-drop interface to facilitate a
more engaging and less frustrating first programmingexperience. Prolux (1996) argues that graphics must be used tohelp visualize and assist in the understanding of concepts, and
as a motivation tool. Animations may also be used where
appropriate.
E. Group Projects
Students may be given assignments to work in groupsoutside class. For example [2], for a networking class, students
can be asked to identify and visit an organisation, gather
information pertaining to the computer network used in that
organization, such as network architecture, and reflect on what
they learnt in class. They may be asked to submit a group
report and do a small oral presentation of their findings inclass. Hence, students are able to put concepts they learnt in
real world context as well as gather information on hardwareproblems and obstacles network personnel encounter, and
clarify their understanding. At the same time, students develop
a good teamwork experience, work out their differences andmanage conflicts that they might have.
F. Assessment
Assessing students’ performance [9] merely on a written
test is a poor guide to the students’ construction of the rich
conceptual models of computer science. A student’s failure to
construct a viable model is a failure of the educational process,even if the failure is not immediately apparent. Continuous
assessment [8] must be part of the curriculum so that studentsplay a larger role in judging their own progress. In group
works, the misconceptions of individual students can
sometimes be masked. Thus, ideally, assessment [9] should
also be based on an instructor’s observation and questioning of
students engaged in an unconstrained activity such as a labproject. Students can be given lab tests, in which they are
given a particular computational problem to solve in the
computer lab.
Automated grading system is also very helpful in providing
consistent and instant feedback to students. Web-CAT [15], a
plug-in-based Web application, supports electronic submission
and automated grading of programming assignments. Inaddition to traditional models of automated program grading,
Web-CAT also encourages test-driven development, where
students write small unit tests that they submit along with their
programs. Like most automatic grading systems, Web-CATprovides informative feedback for failed test cases to help
students make reflective and iterative improvements in
learning. It also supports multiple submissions till the correct
answer is obtained. This is a motivational factor wherestudents try to continuously improve their program based on
the feedbacks received until they get it right. Assignments that
can be graded automatically can also be given to students to
foster learning outside the classroom. Providing consistent,
instant, and detailed feedback [16] to students has been a big
challenge in teaching Web based computing, given the
complexity of project assignments and the comprehensive
requirements on security, reliability, and robustness.ProtoAPOGEE (Prototype Automated Project Grading and
Instant Feedback System) is a prototype automated gradingsystem for Web projects to enrich students’ learningexperience.
G. Explicitly Teach the Model
Mulholland (1997) [21] showed that software visualization
of Prolog programs is most successful if “there is a clear,simple mapping between the software visualization and the
underlying source code’’. Based on observations of expert
programmers and electronics engineers, Petre (1991) [17]
believes that declarative reasoning does not really occur.
Instead, the experts reason operationally in terms of an
underlying machine. The question is how detailed should amodel be. Naps and Stenglein (1996) [22] demonstrated an
approach by creating a visualization of parameter passing.Moreover, a calculator [9] with only digits, decimal point and
equal sign, as shown in Fig 2, can be used to explain the
concept of variables and assignment statements. Eachcalculator represents one variable and allows the practice of
assignment statements without having access to a
programmable computer.x: Real
23.9
7 8 9
4 5 6
1 2 3
0 . =
y: Real
13.0
7 8 9
4 5 6
1 2 3
0 . =
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 9, No. 8, August 2011
29 http://sites.google.com/site/ijcsis/
ISSN 1947-5500
8/4/2019 Constructivist-Based Framework for Teaching Computer Science
http://slidepdf.com/reader/full/constructivist-based-framework-for-teaching-computer-science 6/7
z: Real
14.9
7 8 9
4 5 6
1 2 3
0 . =
Fig. 2. Three Calculators to Explain the Concepts of Variables
H. Do Not Start with Abstractions
Ben-Ari’s [9] argument that a model of the computer must
be explicitly taught has implications for the teaching of object-
oriented programming (OOP) in introductory courses. Theabstraction inherent in OOP is essential to ignore details since
software development would be impossible without
abstraction. However, this leads to an object-oriented paradox,
namely “how is it possible to forget details that you never
knew or even imagined?” If students find it difficult to
construct a viable model of variables and parameters, we
cannot expect them to construct a viable model of an object,
e.g. a simple window object.
Adams (1996) [20] argues that objects can only be
introduced after sufficient procedural programming has been
studied to provide an underlying mental model. Ben-Ari (2001)believes that introductory computer science modules should be
based on functional or logic programming paradigm since the
underlying models can be explained in relatively high-level,
hardware-free terms.
I. Do Not Run to the Computer Constructivism [9] suggests that programming exercises
should be delayed until class discussion has enabled the
construction of a good model of the concept. Many students
start writing programs without properly understanding what
the program is required to do. Such premature attempts to
write programs lead to endless debugging and delay the
development of viable models. Students tend to think that they
will “waste time” on analysis and design instead of just gettingon with writing and debugging programs. During practical
classes for programming, the Lecturer must always stress on
the need to write the steps that a program is intended toperform on paper and create a flowchart or write a pseudocode
before implementing the program. J. Laboratory Organisation
From a constructivist viewpoint [9], especially from asocial constructivist one, closed labs is preferable. Thweatt
(1994) [23] found empirical evidence for the superiority of
closed labs over open labs. Students may be given a set of
computational problems to solve during their lab sessions.
They can also be encouraged to discuss in groups and use
online help and tutorials. The Lecturer may pass around to see
the students’ progress and help those having difficulties to
understand the concepts. Moreover, instead of giving them the
answers straight away, they must be shown fruitful avenues
that they can explore.
K. Lifelong Learning Support
Two fundamental motivations that drive contemporary
education reform are how to cultivate the learners’ thinking
ability and creativity, and how to encourage lifelong learning.Constructivist teaching approaches [18] can cultivate the
learner’s abilities of independent learning, communication,
critical thinking and problem solving. The learner [6] must beprovided with an “anchor” before they set sail on the open
seas of knowledge. A basic understanding of the material
provides the learner with a guiding compass for further travel.
Students must be given the basic knowledge and encouragedto do independent study which will help them in their final
year project, further studies and for lifelong learning.
Furthermore, once students have understood the basic
concepts of programming, they must be able to pick up any
programming language. This is very important for them to be
valuable in the job market due to the rapid change in softwaretools and applications.
I. CONCLUSION
This paper has presented the relevant learning theories,
discussed the importance of constructivism in teachingcomputer science and proposed a constructivism-based
framework for computer science education. Graduates must
have an in-depth knowledge and be capable of using theknowledge to solve problems to be able to confront the
requirements imposed by today’s demanding business
applications. Constructivists believe that effective learning
requires not just discovery of facts, but the construction of
viable mental models, and that teachers must actively guide
the student in this effort. Moreover, to be in-line with the
constructivist theory, Lecturers should continue to construct
and refine their teaching strategies.
The framework proposed provides a sound foundation for
teaching complex knowledge domains and foster further
growth and development of the students’ mind. Features of theframework include customising the curriculum to students’
prior knowledge, using concepts from everyday life in
explanations, objectifying concepts being taught, using
construction kits, have groups projects as well as lab tests
where students have to submit individual work, explicitly
teach the model, introduce the concepts of objects only aftersufficient procedural programming has been studied to provide
an underlying mental model, delay programming exercisesuntil class discussion has enabled the construction of a good
model of the concept, have closed lab sessions and support
lifelong learning.
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 9, No. 8, August 2011
30 http://sites.google.com/site/ijcsis/
ISSN 1947-5500
8/4/2019 Constructivist-Based Framework for Teaching Computer Science
http://slidepdf.com/reader/full/constructivist-based-framework-for-teaching-computer-science 7/7
REFERENCES
[1] M. F. Aqda, F. Hamidi and F. Ghorbandordinejad, “The impact of constructivist and cognitive distance instructional design on the learner’s
creativity”, Procedia Computer Science, 3, 260 – 265, 2011.
[2] C. A. Chen, “Constructivist Approach to Teaching: Implications inTeaching Computer Networking”, Technology, Learning and
Performance Journal. 21, 2, 17-27, 2003.
[3] V. K. Proulx, R. Rasala and H. Fell, “Foundations of computer science:what are they and how do we teach them?”, In Proceedings of the
conference on Integrating Technology into Computer Science Education(ITiCSE), Barcelona, Spain, 42 – 48, 1996.
[4] K. Masuyama, “Constructive or instructive approach? Which online
pedagogy is better in a foreign language course?”, In E. Pearson & P.Bohman (Eds.), Proceedings of World Conference on Educational
Multimedia, Hypermedia and Telecommunications 2006. . Chesapeake,VA: AACE, 1134-1141, 2006.
[5] LEARNING-TEORIES.COM, Available at http://www.learning-theories.com/ , 2008.
[6] B. Mergel, “Instructional Design and Learning Theory”, Educational
Communications and Technology, University of Saskatchewan, 1998.
[7] L. S. Pogue, “Instructivi sm vs Constructivism”, Available athttp://ezinearticles.com/?Instructivism-Vs-Constructivism&id=1857834 ,
2009.
[8] ON PURPOSE ASSOCIATES, “Constructivism”, Available athttp://www.funderstanding.com/ content/constructivism, 2009.
[9] M Ben-Ari, “Constructivism in Computer Science Education”, Journal
of Computers in Mathematics and Science Teaching. 20, 1, 45 – 73,2001.
[10] M. A. Boudourides, “Constructivism and Education: A Shopper’s
Guide”, Contributed Paper at the International Conference on theTeaching of Mathematics, Samos, Greece, 1998.
[11] K. Thramboulidis, “Teaching Advanced Computing Concepts in Java: AConstructivism-based Approach”, Journal of Informatics Education and
Research. 7, 3, 2005.
[12] A. N. Whitehead, “Learning in Maine. Constructivism vs.Instructivism”, Available at
http://learninginmaine.blogspot.com/2007/08/constructivism-vs-instructivism.html, 2007.
[13] N. Phillips, “Cognitive Learning Theory’s Impact On Curriculum”,
Learning Theory Paper, University of Phoenix, 2008.
[14] ALICE, Available at http://www.alice.org/ , 2011.
[15] WEB-CAT, “Web-CAT Research Server Front Page”, Available at
http://web-cat.cs.vt.edu/ , 2006.
[16] X. Fu, B. Peltsverger, K. Qian, L. Tao and J. Liu, “APOGEE: automatedproject grading and instant feedback system for web based computing”,
In Proceedings of SIGCSE'2008. 77-81, 2008.
[17] M. Petre, “Shifts in reasoning about software and hardware systems: do
operational models underpin declarative ones?”, Paper presented at theThird Psychology of Programming Interest Group Workshop,
Huddersfield, UK, 1991.[18] D Luo, “Using Constructivism as a teaching model for computer
science”, The China Papers, 36 – 40, 2005.
[19] S. M. Glynn, “Explaining science concepts: A teaching-with-analogies
model”, In S.M. Glynn, R.H. Yeany, & B.K. Britton (Eds.), Thepsychologyof learning science. Hillsdale, NJ: Lawrence Erlbaum, 219 –
240, 1991.
[20] J. C. Adams, “Object-centered design: A five-phase introduction toobject-oriented programming in CS 1 – 2”, SIGCSE Bulletin, 28, 1, 78 –
82, 1996.
[21] P. Mulholland, “Using a fine-grained comparative evaluation techniqueto understand and design software visualization tools”, Paper presented
at the Empirical Studies of Programmers: Seventh Workshop,Alexandria, VA, 1997.
[22] T. L. Naps and J. Stenglein, “Tools for visual exploration of scope and
parameter passing in a programming languages course”, SIGCSE
Bulletin, 28, 1, 295 – 299, 1996.
[23] M. Thweatt, “CS1 closed lab vs. open lab experiment”, SIGCSEBulletin, 26, 1, 80 – 82, 1994.
AUTHORS PROFILE
Anuja Meetoo-Appavoo received her B.Eng degree in Computer Science and
Engineering in 2003 and her MSc in Computer Science in 2006, both from theUniversity of Mauritius. She is currently working as Lecturer in the Computer
Science and Engineering Department at the University of Mauritius. Herresearch interest include mobile and ubiquitous computing, context-awareness
and wireless sensor network. Moreover, she is an active member of theMobile and Ubiquitous Computing, Context-Awareness and Efficient
Computing Research Groups at the University of Mauritius and has acted asreviewer for IEEE Journal.
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 9, No. 8, August 2011
31 http://sites.google.com/site/ijcsis/
ISSN 1947-5500
top related