7
 Constructivist-Based Framework for Teaching Computer Science Anuja Meetoo-Appavoo Faculty of Engineering University of Mauritius [email protected]   Abstract— The business world is constantly evolving and is increasingly complex. Computer science graduates are expected to demonstrate competencies to efficiently solve business problems 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 the business world. Constructivism provides an alternative foundation for rethinking and redesigning teaching practices. This paper proposes a constructivist-based framework for teaching computer science that exploits students’ existing knowledge from real-life and explicitly addresses the process of knowledge construction. It eventually fosters further growth and development 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 are expected to demonstrate competencies to efficiently solve business problems and communicate intelligently with IT professionals. 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 skills between 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, and create 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 teaching computer 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 learning theories, namely behaviourism, cognitivism and constructivism. Section 3 explains the importance of constructivism in Computer Science education. Section 4 discusses the features of the proposed constructivist-based framework for teaching computer science. Section 5 reviews the learning environment, the Lecturers’ role and the students’ role in the proposed framework and finally section 6 concludes the 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. This section 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 occurring in 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 can put 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

Constructivist-Based Framework for Teaching Computer Science

  • Upload
    ijcsis

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Constructivist-Based Framework for Teaching Computer Science

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

[email protected] 

 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

Page 2: Constructivist-Based Framework for Teaching Computer Science

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

Page 3: Constructivist-Based Framework for Teaching Computer Science

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

Page 4: Constructivist-Based Framework for Teaching Computer Science

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

Page 5: Constructivist-Based Framework for Teaching Computer Science

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

Page 6: Constructivist-Based Framework for Teaching Computer Science

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

Page 7: Constructivist-Based Framework for Teaching Computer Science

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