Creative Education
2012. Vol.3, Special Issue, 773-783
Published Online October 2012 in SciRes (http://www.SciRP.org/journal/ce) http://dx.doi.org/10.4236/ce.2012.326116
Copyright © 2012 SciRes. 773
Student-Centered Learning Objects to Support the Self-Regulated
Learning of Computer Science
Ali Alharbi, Frans Henskens, Michael Hannaford
School of Electrical Engineer ing and Computer Science, The University of Newcastle , Newcastle, Australia
Email: Ali.H.Alharbi@uon.edu.au, Frans.Henskens@newcastle.edu.au, Michael.Hannaford@newcastle.edu.au
Received August 30th, 2012; revised September 3 0th, 2012; accepted Octob e r 14th, 2012
The most current computing curriculum guidelines focus on designing learning materials to prepare stu-
dents for lifelong learning. Under the lifelong learning paradigm, students are responsible for controlling
and monitoring their learning processes. This undoubtedly includes the ability to choose suitable learning
materials. Correspondingly, instructional paradigms are shifting from teacher-centered to more stu-
dent-centered models that require students to be self-regulated learners. On the other hand, recent trends
in learning materials’ instructional design focus on moving toward the concept of Learning Object-based
instructional technology. A learning object is a unit of instruction with a specific pedagogical objective
that can be used and reused in different learning contexts. Designing learning objects to support students
in their self-regulated learning is not an easy task due to the lack of underlying pedagogical frameworks.
It is difficult to find learning objects related to students’ specific preferences and requirements. In this
study, a number of learning objects are designed to support the self-regulated learning of programming
languages concepts based on the theory of learning styles. Students’ interactions with these learning ob-
jects are managed using an online learning object repository. The repository helps students identify their
preferred learning styles and find the relevant learning objects. The results of the evaluations of these
learning objects revealed that students perceive them to be easy to use and effective in supporting their
learning about different programming languages concepts.
Keywords: Learning Objects; Learning Styles; Self-Regulated Learning; Computer Science Education
Introduction and Problem Statement
The current trend in instructional design is moving toward
the concept of the “learning object”. Learning objects are
learning materials with pedagogical objectives that are intended
for use and reuse in different learning contexts (Sosteric &
Hesemeier, 2002). The number of learning resources stored in
online learning object repositories has increased dramatically.
Many learning object repositories that store a large number of
learning objects for use in different disciplines are available
today. Learning objects are designed to be used by students and
instructors in their learning and teaching. Therefore, pedagogy
should be the primary factor taken into consideration in the
design and delivery of learning objects to learners. Learning
theories are at the core of any pedagogical framework, and
learning objects represent a new era in instructional technology
that aims to support teaching and learning in many disciplines.
On the other hand, in recent years, the concept of self-regu-
lated learning has received increasing attention in educational
research, especially in higher education. Self-regulated learning
provides students with the ability to control and monitor their
learning processes and determine how to locate the suitable
learning resources (Pintrich & Zusho, 2007). Self-regulated
learning is an active topic in education research due to its im-
portance to academic success and lifelong learning (Dettori &
Persico, 2008). Correspondingly, instructional paradigms are
shifting to more student-centered instead of teacher-centered
models (Berglund et al., 2009). This implies that students must
become more self-regulated learners. The recent computing
curricula guidelines produced by the IEEE/ACM stress the
importance of designing computer science learning materials
that help prepare computer science students for lifelong learn-
ing (Sahami, Guzdial, McGettrick, & Roach). To this end, the
learning materials should take the diversity of students’ prefer-
ences and requirements into consideration. However, there is a
scarcity of instructional design theories that guide the design
and use of learning objects (Wiley et al., 2004).
The primary goal of learning object instructional technology
is to simplify and enhance the process of the instructional de-
sign and distribution of learning materials (Wiley et al., 2004).
In its simplest form, instructional design theory is about helping
people learn better; it involves the processes of analyzing
learners’ requirements and designing learning materials to sat-
isfy these requirements (Reigeluth, 1999). The instructional
design of learning objects differs significantly from the conven-
tional instructional design process. Shifting toward self-regu-
lated learning paradigms stresses the importance of designing
learning objects that are compatible with students’ needs and
preferences and improving students’ interactions with these
objects.
Theoretical Background
Learning Object Instructional Technology
Different definitions of the term “learning object” can be
found in the literature. The IEEE Learning Technology Stan-
dards Committee (LTSC) define the learning object as “any
entity, digital or non-digital, which can be used, re-used or
A. ALHARBI ET AL.
referenced during technology supported learning” (LTSC,
2002). This definition is broad, suggesting that anything used
for education could be considered a learning object. However,
many of the subsequent definitions of the term “learning ob-
ject” are attempts to narrow the scope of the IEEE LTSC defi-
nition. Wiley excluded non-digital items from the IEEE defini-
tion, describing a learning object as “any digital resource that
can be reused to support learning” (Wiley, 2000). Sosteric and
Hesemeier (Sosteric & Hesemeier, 2002) synthesized the vari-
ous definitions of learning object, defining a learning object as
any item with a pedagogical objective that is intended for used
and reuse in different learning contexts.
A learning object is a collection of learning items such as
images, animations, simulations and other resources to form a
complete learning unit. In terms of instructional technology, the
learning object is described as the “technology of choice in the
next generation of instructional design, development, and de-
livery, due to its potential for reusability, adaptability, and
scalability” (Wiley, 2002). Learning objects are grounded in the
object-oriented paradigm of computer science. In this context, a
learning object can be viewed as an encapsulated unit of in-
struction that can be used independently or in tandem with
other learning objects to achieve a specific pedagogical goal.
According to the object-oriented paradigm, objects are created
based on templates known as classes. A class is an abstract
representation of a set of objects. Objects of the same class are
abstractly the same; they share the same general characte ristics
and differ only in the values of their attributes and their behav-
iors.
Learning Theories: Educational Paradigm Shift
Behaviorism is a theory in educational psychology that em-
phasizes observable events (Watson, 1997). This theory focuses
on the learner’s behavior and excludes the analysis of con-
sciousness, which it views as a concept unsuitable for scientific
research. According to this theory, learning is considered to be
a change in the learner’s behavior that occurs as a result of
external events. Behaviorists do not go so far as to deny the
existence of the consciousness, but they claim that the inner
activities of the mind are essential aspects of behavior that can
only be studied and described in terms of their external indica-
tors. In Watson’s view, “psychology should restrict itself to
examining the relation between observable stimuli and observ-
able behavioral responses” (Thagard, 2010). According to be-
haviorism, the teacher is dominant in the learning process, and
the learner has a more limited role.
Behaviorism was the dominant psychological theory until it
was replaced by cognitive theory in what is referred to as the
“cognitive revolution”. Cognitive psychologists “have proposed
that the mind contains such mental representations as logical
propositions, rules, concepts, images, and analogies, and that it
uses mental procedures such as deduction, search, matching,
rotating, and retrieval” (Thagard, 2010). They view psychology
as the science of cognition: that is, the study of “thinking and
the mental processes humans use to solve problems, make deci-
sions, understand new information or experiences, and learn
new things” (Weinstein & Acee, 2008).
Bruning et al. (1999) have identified six important themes of
cognitive psychology theories that are of particular relevance to
educators: 1) Knowledge is constructed based on the interaction
between the learners’ current knowledge and the new informa-
tion they encounter; 2) Cognitive theories emphasize the con-
cept of schema, or the representational frameworks we use to
translate sensory impressions into our personal interpretations
of reality; 3) Cognitive theories advance the idea that learners
are reflective and self-directed in their learning. In short, cogni-
tive theories consider metacognition to be a key component of
education; learners use strategies to control the learning process;
4) Cognitive theories associate learners’ motivations and beliefs
with learning outcomes; 5) Cognitive theory stresses the im-
portance of social interaction to cognitive growth. By interact-
ing with their peers and instructors, learners may gain perspec-
tives that can either provide them with new learning experi-
ences or shape their learning approaches and strategies; 6)
Cognitive theories that view the mind as similar to a computer
are tempered by their acceptance of the concept of contextual-
ism, the position that one’s perceptions of external situations
come into play in the processes of comprehension and memory
encoding.
Learning Styles
Learning style theory is among the learning theories that
have arisen from the cognitive revolution. Learning styles de-
scribe some of the individual differences that may influence the
development of self-regulated learning strategies; learning style
can be defined as “a particular way in which an individual
learns” (Pritchard, 2009). One of the most comprehensive defi-
nitions of learning style was provided by Keefe (Keefe, 1988),
who defined it as “the characteristic cognitive, affective and
psychological behaviors that serve as relativity stable indicators
of how learners perceive, interact with and respond to the
learning environment”. Adopting a specific teaching or instruc-
tion style without being aware of students’ different learning
styles may lead to inefficient learning outcomes for some stu-
dents (Pritchard, 2009). Teachers should be aware of their stu-
dents’ learning styles and vary their teaching strategies and
materials to be compatible with different styles. However,
many teachers attempt to differentiate their teaching materials
according to difficulty levels, not according to their students’
learning styles.
Felder-Silverman Learning Style Model
The Felder-Silverman Learning Style Model (Felder &
Silverman, 1988) is a learning style model used to identify
learning styles, especially in science and engineering education.
The Index of Learning Styles (ILS) is the instrument used to
identify learning styles based on this model. The model consists
of four dimensions (Felder & Silverman, 1988) (see Figure 1).
Perception: This dimension describes the type of information
an individual perceives preferentially. Sensing learners prefer
concrete content and facts and are detail oriented, whereas in-
tuitive learners prefer abstract concepts, theories and mathe-
matical formulas and dislike details. The sensing learner tends
to solve problems using well-established methods and dislikes
complications. The intuitive learner appreciates innovation and
new methods of solving problems and dislikes repetition.
Input: This dimension describes the type of presentation an
individual prefers. Visual learners prefer learning through vis-
ual media, such as pictures, charts and diagrams, whereas ver-
bal learners prefer spoken or written materials and explanations.
Both types of learners learn better when the material is deliv-
Copyright © 2012 SciRes.
774
A. ALHARBI ET AL.
Figure 1.
Felder-Silverman lear ni n g st yle model.
ered using visual, verbal and written forms. Learners of both
types can help themselves by finding relevant explanations of
the subjects discussed in class in their textbooks or external
resources, which may be suggested by their teachers.
Processing: This dimension describes how the learner proc-
esses information. Active learners prefer learning in groups,
and they tend to try new things, whereas reflective learners
prefer working alone and tend to think about how things work
before attempting them.
Understanding: This dimension describes how the learner
progresses toward understanding information. Sequential learn-
ers prefer following a logical, step-by-step linear approach,
whereas global learners prefer to absorb the learning materials
randomly, in large jumps, without following a step-by-step
approach, until they grasp the full picture. Global learners can
fix a complex problem once they grasp the full picture, but they
might encounter difficulties when attempting to describe how
they solved it. Courses are normally taught according to a se-
quential presentation format. Sequential learners can learn ef-
fectively under this method of instruction if they attempt to
connect the learning materials logically and develop outlines
for the lectures by consulting their teachers or references.
Global learners need to grasp the full picture before going into
the details; therefore, it may be helpful for them to skim
through the content of each chapter or unit of study to gain an
overview and try to link the new content to something they
already know.
Research in Learning Styles
Education researchers agree that there are different learning
styles that must be accommodated to improve the teaching and
learning process. In addition, empirical studies that have been
conducted to investigate the implications of different learning
styles on students’ performance have found that there are sig-
nificant differences in the levels of academic achievement of
students with different learning styles (Akdemir & Koszalka,
2008; Alharbi, Paul, Henskens, & Hannaford, 2011; Mills,
Ayre, Hands, & Carden, 2010; Zander et al., 2009). One ex-
planation for this result is that the learning materials favor spe-
cific learning styles and ignore others.
There appears to be a debate on how to integrate learning
styles into curriculum design and teaching and learning activi-
ties. The lack of empirical studies that evaluate the effective-
ness of learning styles-based interventions in the educational
process in many subjects has made it difficult to generate rec-
ommendations for teachers and curriculum designers. The re-
search on learning styles focuses primarily on the identification
of students’ learning styles and how this might affect their aca-
demic achievements. In addition, the research on learning styles
follows a track that is isolated from other educational theories.
The role of learning styles in self-regulated learning has not
been investigated and appears to offer a potential direction for
future research.
The main hypothesis that dominates the research on learning
styles is called the “matching hypothesis” (Coffield, 2004).
This hypothesis argues that if a learner is presented with learn-
ing material that is compatible with his/her own learning style,
his/her learning process improves. Further, teaching methods
that are mismatched with the learner’s style might lead to diffi-
culties in learning. However, research on how this could be
applied in context to improve the teaching and learning process
in many disciplines, including computer science, is scarce.
“Learning style awareness” was put forward in response to
critical reviews of learning style theories as an alternative and
promising hypothesis for future research on learning styles
(Coffield, 2004; Coffield, Moseley, Hall, & Ecclestone, 2004).
This hypothesis claims that knowledge of learning styles should
be used to increase self-awareness, which leads to improve-
ments in the learning and teaching process. Learners who be-
come aware of their learning styles are more likely to be aware
of their strengths and weaknesses and, therefore, will have
more control of their learning processes. In addition, teachers
who are aware of the diversity of learning styles among their
students are most likely to adopt different teaching approaches
that appeal to different types of students. This study adopts a
framework to achieve balance between these two learning style
hypotheses.
Related Work
This section reviews the literature on the difficulties related
to the teaching and learning of computer science concepts and
the diversity of students’ learning styles.
Difficulties in Teaching and Learning Computer
Science Concepts
The research on computer science education has investigated
various issues related to the difficulties involved in the teaching
and learning of computer science concepts. This includes inves-
tigating the misconceptions in students’ understandings of cer-
tain difficult computer science concepts. This review focuses
on teaching and learning the concepts of programming lan-
guages and paradigms.
Teaching object-oriented concepts appears to be a difficult
task for the teachers who must find the best way to teach them
and the students who are asked to understand many concepts
concurrently (Milne & Rowe, 2002).
Many empirical studies have found that students encounter
difficulties and develop misconceptions related to the under-
standing of object-oriented concepts such as encapsulation,
inheritance and polymorphism (Fleury, 2001; Holland, Griffiths,
& Woodman, 1997; Ragonis & Ben-Ari, 2005a, 2005b). The
concepts of inheritance and polymorphism are essential to the
understanding of the object-oriented paradigm. In a recent
study, Liberman, Beeri, and Ben-David Kolikant (Liberman,
Beeri, & Ben-David Kolikant, 2011) noted that despite the fact
Copyright © 2012 SciRes. 775
A. ALHARBI ET AL.
that inheritance and polymorphism are central to object-ori-
ented paradigm, research has only recently begun to address
students’ difficulties with and misconceptions of these concepts.
They classified students’ difficulties understating inheritance
and polymorphism into four distinct clusters based on the rea-
sons behind their difficulties: alternative programming models,
analogies, misunderstandings of inheritance and misunder-
standings of basic object-oriented concepts.
Or-Bach and Lavy (Or-Bach & Lavy, 2004) conducted a
study to investigate students’ misconceptions of inheritance and
abstraction. The study participants were thirty-three college
students who had completed two courses in object-oriented
programming and design. The students were given the task of
designing an inheritance hierarchy to demonstrate their under-
standing of fundamental object-oriented concepts, such as in-
heritance and polymorphism. Based on the analysis of the stu-
dents’ solutions, the study results show that the students did not
attain the intended level of abstraction. The study proposed a
taxonomy of the task analysis regarding abstraction and inheri-
tance. The taxonomy consists of three levels, each representing
a degree of abstraction that the students should reach when
analyzing the task. The study offers some recommendations for
instructional design. Examples of model answers should be
presented to students; in addition, the students should be given
the chance to discuss their solutions for different problems and
encouraged to participate in self-assessment and reflection on
the various solutions.
In (Benaya & Zur, 2008) and (Hadar & Leron, 2008), the re-
searchers found that novices are not the only students who en-
counter difficulties understanding object-oriented concepts.
Both students in advanced courses and experts appear to have
similar difficulties. Benaya and Zur (Benaya & Zur, 2008) pre-
sent the results of a study conducted to identify students’ mis-
conceptions of object-oriented concepts in an advanced pro-
gramming course. The study participants were 39 students. The
course’s final exam was used as a research instrument, and it
consisted of a number of questions related to object-oriented
programming. The study revealed various misconceptions re-
lated to object-oriented programming. These misconceptions
were related to misunderstandings of some aspects of inheri-
tance and polymorphism, such as the chain of constructor calls
in the object creation process and dynamic binding. Based on
these results, the study suggested improving the course’s in-
structional method by incorporating more concrete examples
and using visualization tools to help students understand the
dynamic processes during the execution of the program. Hadar
and Leron (Hadar & Leron, 2008) investigated the difficulties
faced by experts participating in object-oriented concept work-
shops. The authors used cognitive psychology to uncover the
causes of these difficulties. The studies revealed some of the
problems participants faced during the study, which were re-
lated to identifying objects and confusion between concrete and
abstract classes. Using dual-processing theory, the authors
claimed that these difficulties were a result of the clash between
the formal object-oriented concepts and their intuitive origins.
“Under the force of these general cognitive mechanisms, de-
ciding on appropriate objects, classes, and relations is some-
times influenced by irrelevant surface clues or everyday mean-
ings of these concepts, thus leading to inappropriate choices.”
In addition to understanding object-oriented concepts, it is
essential for computer science students to be familiar with other
concepts related to programming languages. These concepts
include memory management and parameter passing methods.
Research in computer science education has been criticized
for its lack of reference to established pedagogical theories
(Holmboe, McIver, & George, 2001). Fjuk, Bennedsen, Berge,
and Caspersen argue that past research and course designs in
computer science education have not explicitly described theo-
retical foundations related to learning theories; the field appears
to focus on the technology rather than educational theory (Fjuk,
Bennedsen, Berge, & Caspersen, 2004).
As a result of this criticism, the computer science education
research community has begun to focus on investigating con-
temporary educational theories and their potential roles in im-
proving the teaching and learning methods used in computer
science. Over the last few years, learning theories related to
student-centered approaches to learning have received attention
in computer science education. These approaches focus on the
learner’s role in discovering and constructing knowledge
through active participation in the learning process. Student-
centered educational paradigms place a high level of responsi-
bility on learners to self-regulate their learning using different
learning strategies. Learners should plan for their learning by
better utilizing the available learning resources and monitoring
their progress toward achieving their goals. Under this new
educational paradigm, it is essential for teachers to both master
the subject matter and understand the different ways students
come to understand different concepts, planning their teaching
methods to take these differences into account (Holmboe et al.,
2001). According to some computer science education re-
searchers (Ben-Ari, Berglund, Booth, & Holmboe, 2004), it is
essential to understand how students learn about computer sci-
ence concepts and the conditions of learning. To achieve this
goal, they suggest studying theories that describe the mental
models students create to describe a target system; this mental
model does not necessarily reflect the actual system. The same
authors suggest using variations in presenting the problem un-
der investigation to allow students to experience the problem
from different perspectives.
Learning Styles in Computer Science Education
This section reviews the research related to learning styles in
computer science education. Such a review provides insight
into whether the diversity in learning styles of computer science
students is being taken into consideration in instructional
methods. Previous studies have investigated computer science
students’ learning styles. Thomas et al. (Thomas, Ratcliffe,
Woodbury, & Jarman, 2002) investigated the learning styles of
students enrolled in an introductory programming course. The
majority of students in the study were assessed to be sensing,
visual, reflective and sequential. The result of the study indi-
cated that in the exam portion of the course, significant differ-
ences were detected in the students’ performance between the
reflective and active learners in favor of the reflective learners
and between verbal and visual learners in favor of the verbal
learners. One interesting result was that although the majority
of students were visual learners, the verbal learners exhibited
the highest performance in the course. This result is consistent
with the results reported in (Chamillard & Karolick, 1999) and
(Allert, 2004). In a recent study (De Raadt & Simon, 2011), the
authors stated that research on the exploration of learning styles
in computer science education is scarce. This motivated them to
conduct a study investigating students’ learning styles in an
Copyright © 2012 SciRes.
776
A. ALHARBI ET AL.
Copyright © 2012 SciRes. 777
introductory programming course. The study found that the
majority of students preferred practical applications and con-
crete information connected to reality and were comfortable
with details. They preferred to learn using simulation and case
studies.
Pedagogical Framework to Support Computer
Science Learning Objects
Critical systematic reviews of learning style theories stress
the importance of future research on learning styles focusing on
increasing students’ awareness of their preferred learning styles.
This study proposes a pedagogical framework to improve the
design of computer science learning objects to reflect the shift
toward student-centered educational paradigms. Under the pro-
posed framework, learning objects are designed to support dif-
ferent aspects of students’ learning styles. However, the stu-
dents are not restricted to specific learning objects; instead, they
are responsible for self-regulating their learning with the help
of a collaborative learning object repository that helps increase
their awareness of their learning styles. The proposed frame-
work consists of a number of dimensions, each focusing on
specific aspects of these learning styles (Table 1).
Level of Abstraction Dimension
This dimension focuses on reducing abstraction in computer
science learning objects by introducing more features that link
the abstract concepts to the real world. Many computer science
concepts are illustrated using program codes. The level of ab-
straction of these concepts can be reduced by showing the dy-
namic changes in the code using animation.
Presentation Dimension
This dimension focuses on varying the presentation of learn-
ing objects’ content to address the diversity of students’ learn-
ing styles. This dimension balances between the visual and
verbal presentations of the content of the learning object.
Level of Interactivity Dimension
This dimension focuses on the interactive features that the
learning object offers to students. There should be a balance
between interactive features that allow students to discover the
ideas behind the concepts themselves and the students’ ability
to think about how the concept works: for example, stop-and-
think questions.
Sequencing and Organizati on D imension
This dimension is associated with the structure of learning
object content to achieve a balance between treating the content
in sequential order and enabling the students to grasp the big
picture as early as possible.
The Framework in Action: A Case Study in
Computer Science Education
Programming Languages and Paradigms
The course covers different topics that are essential for any
computer science and software engineering students to study. A
course that addresses the theories behind the design and im-
plementation of programming languages is an integral part of
any computer science and software engineering program
(IEEE/ACM, 2005). Programming language concepts are pre-
sented by comparing the features of different programming
languages, such as Java and C++. In addition, different pro-
gramming paradigms are discussed and compared.
Collabora ti ve L earni n g Object Repository
To support students’ self-regulated learning, a collaborative
learning object repository has been developed. All the learning
objects have been stored in this repository and made available
for students’ use. The repository implements a module respon-
sible for identifying students’ learning styles and providing
them with a learning guide to help them increase their aware-
ness of their learning styles and develop more control over their
learning processes.
A number of learning objects have been developed to support
the course on programming languages and paradigms. All these
objects have been published in the collaborative learning object
repository to allow students to use them to support their
self-regulated learning. The designs of the learning objects are
Table 1.
Learning style-based pedagogical framework for computer scienc e l ea rning objects.
Dimension Design criteria Examples related to computer science education
Level of
abstraction
Examples or analogies to connect the abstract concept
to the real world.
Mathematical form ul a and/or pr o gram code
The concepts of inheri tance and p ol ymorphism can be described us ing
real-world examples, such as animals and vehicles. The program code can
be added later.
Presentation
Pictures and diagrams
Animations and simulations
Textual and audio descriptions
Linked-list operati ons can be animated by hi ghlighting the code st ep by step
and showin g th e dynamic changes in the list. Each step is described using
text and audio.
Interactivity
Interac tive animations
User control
Self-assessment with instant feedback and model
answers
The animation used in the linked list has controls throu gh which the user
can selec t which operation to apply and pause, resume, or rewind the ani-
mation at any time.
Sequencing
and
organization
Clear, s equential order when covering the concepts
Overview (big picture) and summary
Comparisons
The learn in g object that describes polymorphism starts with an o v erview of
polymorphi sm and the content of the learning object. There is an option to
show a comparison between Java and C++ in the implementation of
polymorphism. At the end, there is a summary of the contents of the
learning objec t.
A. ALHARBI ET AL.
based on templates to ensure that the dimensions proposed in
the framework are covered. These learning objects cover dif-
ferent topics in the course.
Memory Management
It is essential for programs to allocate memory to store data
values and structures. If a program allocates a memory and
never releases it , it may cause problems with insuffic ient mem-
ory. Programming languages provide different types of support
for memory manage ment. Understanding memory management
is essential to computer science and software engineering stu-
dents in their early programming careers. It is important for any
programmer to learn about the different approaches adopted by
programming languages to manage the allocation and release of
memory.
The memory can be divided into three main regions: Static,
Stack and Heap. The static region is initialized at load time, its
lifetime is the complete program run and its visibility is the
whole program. Heap is a memory region that is allocated and
de-allocated under the program’s control during its run time.
The heap memory is allocated when it is needed; it is the pro-
gramming environment’s responsibility to keep track of what
areas of memory are free and what is currently in use to release
memory when it is no longer needed. Stack is the memory re-
gion used to support procedure calls by storing local variables
and paramete rs. Stack memory is dele ted automatically when it
is no longer needed.
Programming languages adopt different approaches to mem-
ory allocation. In Java, all objects are allocated to the heap and
released automatically by the garbage collection when they are
no longer needed. Only primitives and references can reside in
the stack; allocating objects to the stack is not supported in Java.
In contrast, memory management in the C++ programming
language is different. In C++, it is the programmer’s responsi-
bility to apply an efficient memory management practice by
keeping track of the memory that is no longer needed and re-
leasing it.
In this section, a number of learning objects are designed to
help students understand concepts related to memory manage-
ment by comparing the memory management approaches taken
by the Java and C++ programming languages (e.g., Figure 2).
The learning object uses animation to present the dynamic
allocation of the stack and heap memory during program exe-
cution. The animation provides a comparison between Java and
C++ with rega rds to memory management.
To illustrate the concept of information hiding, a learning
object has been developed based on a real-world example. This
learning object is an animation of Java code used to compare
different access modifiers to help students grasp and retain the
concept of information hiding in the object-oriented program-
ming paradigm.
Data Structures in Java
Data structure is an essential subject for all computer science
and software engineering students. Linked lists, stacks and
queues are the main data structure types covered in this course.
These data structures are implemented differently in Java than
in C++ and other languages. A number of learning objects have
been developed to describe how different operations on data
structures work dynamically, using step-by-step animations and
highlighting in the code (e.g., Figure 3).
Figure 2.
A learning object to teach memory management concepts.
Figure 3.
Doubly linked list learning object.
Object-Oriented Concepts
Many empirical studies have found that students have diffi-
culties with and misconceptions in their understanding of ob-
ject-oriented concepts such as encapsulation, inheritance and
polymorphism (Fleury, 2001; Holland et al., 1997; Ragonis &
Ben-Ari, 2005a, 2005b). Encapsulation and information hiding
are two essential object-oriented concepts that refer to the bun-
dling of data with the methods operating on those data. External
objects can only interact with an encapsulated entity through its
interface. A proper understanding of encapsulation is important
for novice programmers to gain essential object-oriented pro-
gramming skills. Fleury (Fleury, 2001) conducted a study to
gain insight into the different ways students understand encap-
sulation. The study found that a lack of experience in object-
oriented programming leads novice students to focus on tracing
the code, rather than on long-term benefits related to code reuse
and maintenance.
To illustrate the concepts of encapsulation and information
hiding, a learning object based on a real-world example has
been developed. The learning object is an animation of Java
code that presents a comparison between different access modi-
fiers to help students grasp and retain the concept of informa-
Copyright © 2012 SciRes.
778
A. ALHARBI ET AL.
tion hiding in the object-oriented programming paradigm.
The concepts of inheritance and polymorphism are essential
to an understanding of the object-oriented paradigm. Inheri-
tance refers the ability to create a new piece of code based on
an existing one instead of creating the code from scratch. This
increases the maintainability of the software. Polymorphism is
an object-oriented concept referring to an object’s ability to
respond to a message according to its own interpretation of that
message. The same message can elicit different responses from
different objects. This makes it easy to extend the program code
by adding new object types without the need for major modifi-
cations of the code.
A number of learning objects have been developed to support
students’ understanding of inheritance and polymorphism. Each
learning object starts with a real-world example to make it easy
for students to grasp the concepts as early in the process as
possible.
Parameter Passing Methods
Programming languages use different methods to pass pa-
rameters into procedures. A learning object has been designed
to help students to understand the dynamic process of different
parameter passing methods in an animated step-by-step manner
(Figure 4). The learning object depicts the code of the caller
and the called procedures and highlights the code statement that
is being executed. Students can choose among the different
parameter passing methods.
Concurrency
Concurrency is one of the important characteristics of any
modern operating system today. It allows multiple processes to
be executed simultaneously. In concurrent processing systems,
issues of process cooperation and competition arise. Mutual
exclusion and synchronization are the main concurrency con-
cepts discussed in any introductory operating systems course.
When more than one proc ess needs to share the same resource,
mutual exclusion must be guaranteed: that is, only one process
at a time can use the shared resources.
Synchronization refers to the coordination of activities be-
tween multiple processes through the sharing of information.
Programming languages provide different techniques to
achieve synchronization between processes. The programming
languages and paradigm course shows how the synchronization
Figure 4.
A learning object to describe parameter passing methods.
between processes can be managed using different techniques,
such as semaphores, monitors and message passing. These so-
lutions are normally applied to different classical synchroniza-
tion problems, such as producer-consumer, readers-writers and
dining-philosophers. Enforcing mutual exclusion between proc-
esses can introduce critical problems, such as deadlock.
A number of learning objects have been designed to describe
the concepts related to concurrency in Java. These include a
learning object that describes the semaphore mechanism to
achieve synchronization between processes and prevent prob-
lems with concurrency. Figure 5 shows a screen shot of a
learning object used to describe the bounded-buffer problem.
Participants
The participants in this study are 36 students enrolled in the
Programming Languages and Paradigms course at the Univer-
sity Of Newcastle, Australia, in the first semester of 2012. This
course is a second-year course that is required for computer
science and software engineering students. It covers different
programming language concepts, such as memory management,
inheritance, polymorphism and parameter passing methods, and
some programming paradigms, such as concurrent program-
ming.
Data Collection Instruments
The data collection instruments in this study include the In-
dex of Learning Styles (ILS) and the Self-Regulated Learning
Strategies questionnaire. To evaluate the educational effective-
ness of the learning objects, students’ ratings of and comments
on the learning objects in the repository have been collected. In
addition, the students completed an online questionnaire at the
end of the semester designed to gather information about their
perceptions of the usefulness of the learning objects and the
online repository used in the study.
Index of Learning Styles
The ILS instrument is used to identify the learning styles of
students based on the Felder-Silverman Learning Style Model
(Felder & Soloman, 1997). The instrument consists of 44 items
that identify the students’ learning styles based on four dimen-
sions: 1) Sensitive-Intuitive; 2) Visual-Verbal; 3) Active-Re-
flective; and 4) Sequential-Global.
Figure 5.
A learning object used to describe the bounded-buffer problem.
Copyright © 2012 SciRes. 779
A. ALHARBI ET AL.
Learning Object Ratings and Open-Ended Comments
The repository provides each student with the ability to rate
learning objects according to a 5-point scale to indicate their
educational effectiveness. In addition to their ratings, the stu-
dents can provide open-ended qualitative comments on their
perceptions and satisfaction level after using the learning ob-
jects.
Student Satisfaction Questionnaire
This instrument is an online questionnaire completed by the
students as part of the overall feedback questionnaire to evalu-
ate the educational effectiveness of the entire learning object
repository at the end of the semester. The questionnaire meas-
ures the students’ satisfaction in terms of their perceptions of
the collaborative learning object repository. The questionnaire
uses a 7-point Likert scale in which 1 represents strongly dis-
agree and 7 represents strongly agree. The questionnaire meas-
ures students’ satisfaction with different aspects of the learning
objects.
Method and Procedure
The students were issued accounts to use the repository for
self-regulated learning. The system was used for approximately
10 weeks, until the end of the semester. Students completed the
learning style and self-regulated learning questionnaire at the
beginning of the semester and all the questionnaire responses
were entered into the repository. However, if a student logged
into the system for the first time, he or she would be redirected
to complete the learning style and self-regulated learning ques-
tionnaires online if he or she had not completed the paper-based
questionnaire.
Results
This section presents the results of the analysis of the data
collected in this study. First, the distribution of students’ learn-
ing styles is presented, followed by the self-regulated learning
strategies reported by the participants. Second, the analysis of
the data collected from the students’ usage of the learning ob-
ject repository is presented.
Students’ Learning Styles
Table 2 presents the students’ learning styles based on the
four dimensions of the Felder-Silverman Learning Style Model.
In the perception dimension, the majority of students (66.7%)
were sensing learners, while 33.3% were intuitive learners. In
the input dimension, 83.3% of the students were categorized as
visual learners, while only 16.7% were verbal learners. The
processing dimensio categorizes students based on how they
process information. The majority of the students were reflec-
tive learners (63.3 %), while 36.1% were categorized as active
learners. Finally, in the last dimension, the students were cate-
gorized based on how they progressed towards an understand-
ing of the learning material. The majority of students were se-
quential learners (61.1%), while 38.9% were global learners.
Educational Effectiveness of Learning Objec ts
A total of 34 students used the system during the semester.
Students viewed the learning objects inside the system and
Table 2.
Students’ distributions based on their preferred learning styles.
Dimension Learning StyleNo. of Students
(n) Percentage
(%)
Sensing 24 66.7
Perception Intuitive 12 33.3
Visual 30 83.3
Input Verbal 6 16.7
Active 13 36.1
Processing Reflective 23 63.9
Sequential 22 61.1
Understanding Global 14 38.9
interacted with them to learn about different topics. This section
presents the results of the educational effectiveness evaluations
of the learning objects.
Learning Object Ratings
Table 3 presents the average ratings of the learning objects
in the Programming Languages and Paradigms course. Figure
6 depicts the average ratings of the learning objects grouped by
topic. As the table demonstrates, the overall average rating for
all the learning objects was 4.18 out of 5. The learning objects
related to the topic of arrays in Java and C++ had the highest
average rating (5.0), followed by the singly linked list (4.9).
The learning objects related to the diamond inheritance problem
had the lowest average rating (3.5).
Students’ Perceptions of the Learning Objects
Table 4 presents the students’ responses to the questions re-
lated to students’ perceptions of the learning objects. As the
table shows, the mean responses range from 3.89 to 6.37 (out of
7). The overall mean is 5.76, indicating that students have posi-
tive attitudes toward using these learning objects; they perceive
them as useful to support their self-regulated learning. The
students perceive the highlighting of the code during the anima-
tion as the most useful feature for them (mean = 6.37). This is
followed by the dynamic descriptions that appear during each
step of the animation (mean = 6.16) and the real-world exam-
ples used in the learning objects to describe the abstract con-
cepts (mean = 6.05).
Qualitative Comments on Learning Objects
In addition to the learning object ratings and the perception
questionnaire, a qualitative evaluation was conducted to gather
some feedback on the usefulness of these learning objects. The
students were asked to provide comments on the educational
effectiveness of the learning objects. The focus of the evalua-
tion was to obtain insight into the students’ perceptions of and
satisfaction with the learning objects, their willingness to use
them in their studies, and the features that make the students
want to use the learning objects. The instrument also asked the
students to identify any obstacles that might limit the learning
objects’ benefits and to offer suggestions to improve them. The
Copyright © 2012 SciRes.
780
A. ALHARBI ET AL.
Figure 6.
Average ratings of learning objects grouped by topic.
Table 3.
The average ratings of the learni ng objects.
Learning Obj ect Ratings (5-point scale)
Memory management basics 4.9
Arrays in Ja va and C++ 5.0
Static and Automatic variables 4.5
Informat ion Hiding 3.9
Stack 4.4
Queue 3.8
Singly Linked List 4.9
Doubly Lin ked list 4.3
Inheritance conce pt s 3.8
Diamond in heritance problem 3.5
Polymorphi sm concepts 3.7
Parameter Passing Methods 4.0
Bounded B uf fer Problem 4.3
Semaphores 4.0
Bound Buffe r using Semaphores 3.7
Overall Mean 4.18
instrument used to gather these responses was an open-ended
questionnaire, which was presented to the students with each
learning object in addition to the request for a rating. When the
students completed and submitted the evaluation, it appeared in
the comments associated with the learning object in addition to
the ratings. The other students could see the comments, which
helped give them a sense of the usefulness of each learning
object.
A thematic analysis was conducted to develop a list of cate-
gories to describe the students’ perceptions of using the learn-
ing objects as learning aids. The responses are categorized
based on the features that the students found most useful among
the learning objects. Each category is supported by examples
from the students’ responses (Table 5).
Discussion
This study demonstrates that designing computer science
learning objects based on different learning styles enhances the
Table 4.
Students’ responses to the percepti on que sti onnaire.
Questions MeanSD
The animations used to describe different
programming languages concepts were useful to me. 6.00 0.94
The lea rn ing objects were easy to unders tand. 5.89 1.15
The step-by-step descriptions of the concepts in the
animation were helpful. 5.95 1.08
Highlighting the cod e during the animation helped
me follow the code animation. 6.37 0.83
The text-to - sp eech s ound used to describe the
dynamic animation was useful. 3.89 1.10
The written description (at the bottom of t he
animation ) h elped me understand the dynamic
animation. 6.16 0.83
The user c ont rols at the bottom (show code,
step-by-step, Java vs. C++, etc.) were helpful. 5.79 0.86
The learning objects that used examples from the
real world to describe the concepts helped me grasp
the concepts quickly. 6.05 0.91
The comments provided by other students helped
me use the learning objects more efficiently. 5.74 1.24
Overall 5.76 0.37
Table 5.
Qualitative comment categories based on features of interest.
Feature of Intere st Supported example s fr om stude nts’
responses
Step-by-step
description of the
dynamic proce ss
“The ability to step through each process
of a concept with an explanation and
visual display”
“Everything is clearly explained step by
step”
“The flow of information is what I like
the most”
Highlighting of
interesting events
“Highlighting specific components to
show their isolation”
“Highlighting and shadowing allowed
consistent illustrations of the ideas and
sound; much better and easier than
drawing on a b oard”
Visual representation
of abstract concepts
“I think the vi sual animations were very
nice”
“Easier to see what is going on”
“Yes. The visual anima tions do help with
understanding different concepts. It is
good to see how the data are stored”
The user’s ability to
control the animation
“the implementation of student contro ls
were also useful ideas for self-learning”
“changing the speed of the animation is
useful for learning at my own pace”
Textual description of
each step in the
animation
“The descriptions of what was happening
were also very helpful”
“The description at t he bottom o f what is
happening was also useful”
learning process by increasing students’ motivation to use the
learning materials. First, the study revealed that the students in
the experimental course had diverse learning styles. The major-
Copyright © 2012 SciRes. 781
A. ALHARBI ET AL.
ity of students were visual learners (83%), compared to the
17% who were verbal learners. In addition, the majority of
students were sensing learners (67%) who preferred concrete
examples over abstract concepts, compared to 33% were intuit-
tive learners with a preference for abstract concepts.
The average ratings of the learning objects indicated that
students have positive perceptions toward using these learning
objects to learn about different programming language concepts.
This is reflected by the high overall average rating, which
reaches 4.18 out of 5. Grouping the ratings based on the differ-
ent topics covered in the course shows that the learning objects
related to memory management concepts received the highest
average ratings (4.6), while the learning objects related to the
concepts of inheritance and polymorphism received the lowest
average ratings (3.7). When learning about the memory man-
agement concepts of programming languages, it is essential for
students to see how the data are stored in different sections of
memory. The learning object designed for this study used an-
imations to depict where different variables are stored in the
memory and the dynamic changes in the memory as the pro-
gram executes. Furthermore, the learning objects presented a
comparison between the memory management approaches of
Java and C++. The high ratings assigned to the memory man-
agement learning objects indicated that using the animation to
design these learning objects is educationally effective. The
students identified the features of the learning objects that were
the most useful to them. These include showing the dynamic
changes in the data structure using animations accompanied by
highlighting of the code at each step and including text descrip-
tions during the animation. The results of the students’ percep-
tion questionnaire reveal that the students perceived the learn-
ing objects as easy to use and useful to support their self-regu-
lated learning.
Conclusion and Future Work
The main objective of the research presented in this paper
was to design learning objects to support students in their
self-regulated learning of computer science. The study pro-
posed a framework based on the theory of learning styles to
improve the design of and interactions with learning objects.
Based on this framework, a number of learning objects were
designed to support the students’ learning of certain program-
ming language concepts. All the learning objects were stored in
an online collaborative repository that identified the students’
preferred learning styles and monitored the students’ interact-
tions with the learning objects. The study revealed that the stu-
dents in the course had diverse learning styles. The majority of
students were visual and sensing learners. The result of using
these learning objects during the course revealed that the stu-
dents perceived the learning objects to be easy to use and useful
in supporting their learning about programming language con-
cepts.
It should be noted that the sample size was not very large and
based on this, the result of the study may be valid only in the
area of teaching programming languages. However, the study
used mixed methods of data collection which increases the
validity and the generalization of the resul ts.
The work described in this paper will continue by comparing
the final exam scores of the students who used the learning
objects this semester with those of another group who were
taught using the traditional instructional approach and did not
use the learning objects. In addition, an analysis of the students’
interactions with the learning objects will be conducted. This
will help obtain further insight into the students’ self-regulated
learning behaviors.
REFERENCES
Akdemir, O., & Koszalka, T. (2008). Investigating the relationships
among instructional strategies and learning styles in online environ-
ments. Computers & Education, 50, 1451-1461.
doi:10.1016/j.compedu.2007.01.004
Alharbi, A., Paul, D., Henskens, F., & Hannaford, M. (2011). An inves-
tigation into the learning styles and self-regulated learning strategies
for computer science students. In Proceedings Ascilite 2011 (pp.
36-46). Hobart: Ascilite.
Allert, J. (2004). Learning style and factors contributing to success in
an introductory computer science course. In Proceedings of the IEEE
International Conference on Advanced Learning Technologies (pp.
385-389). Charlotte: SIGCSE. doi:10.1109/ICALT.2004.1357442
Ben-Ari, M., Berglund, A., Booth, S., & Holmboe, C. (2004). What do
we mean by theoretically sound research in computer science educa-
tion? Proceedings of the 9th Annual SIGCSE Conference on Innova-
tion and Technology in Computer Science Education (pp. 230-231).
New York, NY: ACM.
Benaya, T., & Zur, E. (2008). Understanding object oriented program-
ming concepts in an advanced programming course. Informatics
Education—Supp orting Computational Thinking, 5 0 90, 161-170.
doi:10.1007/978-3-540-69924-8_15
Berglund, A., Eckerdal, A., Pears, A., East, P., Kinnunen, P., Malmi, L.
et al. (2009). Learning computer science: Perceptions, actions and
roles. European Journal of Engineering Educa t i o n , 34, 327-33 8.
doi:10.1080/03043790902989168
Bruning, R., Schraw, G., & Ronning, R. (1999). Cognitive psychology
and instruction (3rd ed.). Upper Saddle River, NJ: Prentice-Hall.
Chamillard, A., & Karolick, D. (1999). Using learning style data in an
introductory computer science course. ACM SIGCSE Bulletin, 31,
291-295. doi:10.1145/384266.299790
Coffield, F. (2004). Learning styles and pedagogy in post-16 learning:
A systematic and critical review. London: Learning and Skills Re-
search Centre.
Coffield, F., Moseley, D., Hall, E., & Ecclestone, K. (2004). Should we
be using learning styles. London: Learning and Skills Research Cen-
tre.
De Raadt, M., & Simon (2011). My students don’t learn the way I do.
Proceedings of the 13th Australasian Computing Education Confer-
ence (ACE 2011) (pp. 105-112). Perth: Australian Computer Society,
Inc.
Dettori, G., & Persico, D. (2008). Detecting self-regulated learning in
online communities by means of interaction analysis. IEEE Transac-
tions on Learning Technologies, 1, 11-19.
doi:10.1109/TLT.2008.7
Felder, R. M., & Silverman, L. K. (1988). Learning and teaching styles
in engineering education. Engineering Education , 78, 674-681.
Felder, R. M., & Soloman, B. A. (1997). Index of learning styles. URL
(last checked 20 June 2011).
http://www4.ncsu.edu/unity/lockers/users/f/felder/public/ILSpage.ht
ml
Fjuk, A., Bennedsen, J., Berge, O., & Caspersen, M. E. (2004). Learn-
ing object-orientation through ICT-mediated apprenticeship. Pro-
ceedings of IEEE International Conference on Advanced Learning
Technologies (pp. 380-384). Washington, DC: IEEE Computer Soci-
ety. doi:10.1109/ICALT.2004.1357441
Fleury, A. E. (2001). Encapsualtion and reuse as viewed by java stu-
dents. URL.
http://dis.eafit.edu.co/depto/docu mentos/p189-fleury%20-%20Encapsu
lation%20and%20Reuse%20as%20Viewed%20by%20Java%20Stu
dents.pdf
Hadar, I., & Leron, U. (2008). How intuitive is object-oriented design?
Communications of the ACM, 51, 41-46.
Copyright © 2012 SciRes.
782
A. ALHARBI ET AL.
Copyright © 2012 SciRes. 783
doi:10.1145/1342327.1342336
Holland, S., Griffiths, R., & Woodman, M. (1997). Avoiding object
misconceptions. ACM SIGCSE Bulletin, 29, 131-134.
doi:10.1145/268085.268132
Holmboe, C., McIver, L., & George, C. (2001). Research agenda for
computer science education. In Proceedings of PPIG (pp. 207-223).
Bournemouth: 13th Workshop of the Psychology of Programming
Interest Group.
IEEE/ACM (2005). Computing curricula 2005: The overview report.
URL (last checked 20 June 2011).
http://www.acm.org/education/education/curric_vols/CC2005-March
06Final.pdf
Keefe, J. W. (1988). Profiling and utilizing learning style. Reston, VA:
NASSP Learning Style Series.
Liberman, N., Beeri, C., & Ben-David Kolikant, Y. (2011). Difficulties
in learning inheritance and polymorphism. ACM Transactions on
Computing Education (TOCE), 11, 4.
doi:10.1145/1921607.1921611
LTSC (2002). Draft standard for learning object metadata. URL (last
checked 4 July 2011).
http://ltsc.ieee.org/wg12/files/LOM_1484_12_1_v1_Final_Draft.pdf
Mills, J., Ayre, M., Hands, D., & Carden, P. (2010). Learning about
learning styles: Can it improve engineering education? Mountain
Rise, 2, 16.
Milne, I., & Rowe, G. (2002). Difficulties in learning and teaching
programming—Views of students and tutors. Education and Infor-
mation Technologies, 7, 55-66. doi:10.1023/A:1015362608943
Or-Bach, R., & Lavy, I. (2004). Cognitive activities of abstraction in
object orientation: An empirical study. ACM SIGCSE Bulletin, 36,
82-86. doi:10.1145/1024338.1024378
Pintrich, P., & Zusho, A. (2007). Student motivation and self-regulated
learning in the college classroom. The Scholarship of Teaching and
Learning in Higher Education: An Evidence-Based Perspective, 3,
731-810. doi:10.1007/1-4020-5742-3_16
Pritchard, A. (2009). Ways of learning: Learning theories and learning
styles in the classroom (2nd ed.). London: David Fulton Publishers.
Ragonis, N., & Ben-Ari, M. (2005a). A long-term investigation of the
comprehension of OOP concepts by novices. Computer Science
Education, 15, 203-221
Ragonis, N., & Ben-Ari, M. (2005b). On understanding the statics and
dynamics of object-oriented programs. ACM SIGCSE Bulletin, 37,
226-230.
Reigeluth, C. M. (1999). What is instructional-design theory and how is
it changing. Instructional-Design Theories and Mod els, 2, 5-29.
Sahami, M., Guzdial, M., McGettrick, A., & Roach, S. (2011). Setting
the stage for computing curricula 2013: Computer science—Report
from the ACM/IEEE-CS joint task force. In Proceedings of the 42nd
ACM Technical Symposium on Computer Science Education (pp.
161-162). New Yo rk: ACM.
Sosteric, M., & Hesemeier, S. (2002). When is a learning object not an
object: A first step towards a theory of learning objects. The Interna-
tional Review of Research in Open and Distance Learning, 3, 2.
Thagard (Ed.) (2010). The Stanford encyclopedia of philosophy. Palo
Alto, CA: Stanford University.
Thomas, L., Ratcliffe, M., Woodbury, J., & Jarman, E. (2002). Learn-
ing styles and perf ormance in th e introductory progra mming sequence.
ACM SIGCSE Bulletin , 34, 33-37. doi:10.1145/563517.563352
Watson, J. (1997). Behaviorism. New Brunswick, NJ: Transaction Pub-
lishers.
Weinstein, C. E., & Acee, T. W. (20 08). Cognitive view of learning. In
N. Salkind, & K. Rasmussen (Eds.), Encyclopedia of educational
psychology. New York: Sage Publications.
Wiley, D. (2000). Connecting learning objects to instructional design
theory: A definition, a metaphor, and a taxonomy. Learning Tech-
nology, 2830, 1-35.
Wiley, D. (2002). Learning objects need instructional design theory. In
A. Rossett (Ed.), The ASTD e-Learning Handbook (pp. 115-126).
New York, NY: McGraw-Hill.
Wiley, D., Waters , S., Dawson, D. , La mbert, B., Barcla y, M., Wad e, D.,
et al. (2004). Overcoming the limitations of learning objects. Journal
of Educational Multimedia and Hyp er m ed i a , 1 3 , 507-521.
Zander, C., Th omas, L., Simon, B., Murphy, L., McCau ley, R., Hanks,
B. et al. (2009). Learning styles: Novices decide. ACM SIGCSE Bul-
letin, 41, 223-227.