mjdean/notes/modules/education... · web viewthis project is a critical evaluation of a range of...
TRANSCRIPT
Constructivist Approaches to Teaching Programming
(A Critical Review)
By
Matthew Dean
Dissertation submitted to De Montfort University in partial fulfilment of the
requirements for the Degree of Master of Arts in Education Practice
September 2017
Name: Matthew Dean
P Number: P06067159
Course: MA Education Practice
Module Name: Research and Dissertation / Major Project
Module Code: EDUC5022
Supervisor’s Name: Dr. Motje Wolf
Due Date: Friday 8th September 2017
Word count 21,272
Contents
Acknowledgements...................................................................................................... i
Abstract....................................................................................................................... ii
Chapter One: Introduction...........................................................................................1
Constructivism and Problem Based Learning..........................................................1
Curriculum Design...................................................................................................2
IMAT1604 Visual Web Development (First Year)................................................2
IMAT2204 Project Management and Development (Second Year).....................4
IMAT3903 Team Development Project (Final Year)............................................7
The Student Voice...................................................................................................8
Dissertation Structure..............................................................................................8
Chapter 2: Literature Review......................................................................................9
Introduction..............................................................................................................9
The Programming Problem.....................................................................................9
Building Mental Models.........................................................................................13
Constructivism as Pedagogy.................................................................................17
Criticism of Problem Based Learning....................................................................19
Conclusion.............................................................................................................20
Chapter Three: Methodology and Research Methods..............................................21
Introduction............................................................................................................21
Research Methodology..........................................................................................21
Data collection methods........................................................................................24
Ethics.....................................................................................................................25
The Role of the Literature Review.........................................................................26
Questionnaires......................................................................................................26
Programming Preferences Survey.........................................................................27
Security..................................................................................................................27
Informed Consent..................................................................................................28
The Questionnaire Design.....................................................................................29
Your Learning........................................................................................................30
The Teaching.........................................................................................................30
Learning Preferences Survey................................................................................32
Focus Groups........................................................................................................34
The Second Focus Group.....................................................................................36
Data Analysis Procedures.....................................................................................36
Theoretical Sampling.........................................................................................36
Coding and Constant Comparison....................................................................36
The Focus Groups.............................................................................................39
Conclusion.............................................................................................................39
Chapter Four: Findings.............................................................................................40
Introduction............................................................................................................40
Overview of Codes................................................................................................40
Notes on Presentation of Findings.........................................................................42
The First Focus Group...........................................................................................43
The Second Focus Group.....................................................................................45
Constant Comparison and the Generation of Candidate Codes............................46
What helps you learn?...........................................................................................47
Barriers to Learning...............................................................................................49
Tutor as Facilitator.................................................................................................51
Use of Real World Problems.................................................................................52
Use of Complex Problems.....................................................................................53
Collaboration.........................................................................................................54
Codes for Discussion at Focus Group...............................................................55
Summary of Second Focus Group........................................................................56
Student Views on Lectures................................................................................56
Student Views on Programming Pathways........................................................57
Detailed Codes for Programming Preferences Survey..........................................58
Introduction............................................................................................................58
What has helped you to learn programming?........................................................58
Teaching and Learning......................................................................................59
The Teaching.....................................................................................................60
The Content.......................................................................................................61
Delivery..............................................................................................................62
Learning.............................................................................................................63
Social Learning..................................................................................................64
The Tutor...........................................................................................................65
The Team...........................................................................................................66
What has hindered your learning of programming?...............................................67
Hindrances.........................................................................................................68
Obstacles to Student Learning...........................................................................69
Barriers to Individual Learning...........................................................................70
Barriers to Collective Learning...........................................................................71
Issues with Social Learning................................................................................71
The Tutor as Barrier...........................................................................................72
The Team as Barrier..........................................................................................73
Problematic Teaching........................................................................................74
Inappropriate Content........................................................................................75
Poor Delivery.....................................................................................................76
Tutor as Facilitator.................................................................................................77
The Tutor as Facilitator......................................................................................77
Mixed Views on Tutor as Facilitator...................................................................78
Agreement on Tutor as Facilitator......................................................................79
Disagreement with Tutor as Facilitator...............................................................80
Use of Real-World Problems.................................................................................81
Use of Real-World Problems..............................................................................82
Agreement with use of Real-World Problems....................................................83
Mixed views on the use of Real-World Problems...............................................84
Use of Complex Problems.....................................................................................85
Views on Problem Complexity...........................................................................85
Agreement on Problem Complexity...................................................................86
Mixed Views on Problem Complexity.................................................................87
Disagreement with Problem Complexity............................................................88
Team Based Problem Solving...............................................................................89
On Team Based Problem Solving......................................................................90
Agreement on Collaboration..............................................................................91
Mixed Views on Collaboration............................................................................92
Disagreement on Collaboration..........................................................................93
Learning Preferences Survey................................................................................94
Chapter Five: Data Analysis and Discussion............................................................97
Introduction............................................................................................................97
The Problem with Problem Based Learning..........................................................97
Pace and Level......................................................................................................98
The Issue of Cognitive Load..................................................................................99
Learning Modes...................................................................................................100
Individual Learning..............................................................................................101
Social Learning and the Value of the Tutor.........................................................101
Social Learning and the Role of Peers................................................................103
Collective Learning..............................................................................................107
Worked Examples and Module Content..............................................................111
Programming Pathways......................................................................................113
Driving Tests and Sprints....................................................................................113
Happy Learning...................................................................................................116
The Role of the Tutor and Instructional Scaffolding.............................................117
Chapter Six: Conclusions and Recommendations..................................................118
Introduction..........................................................................................................118
Problem Based Learning versus Cognitive Load Theory....................................118
Scaffolding and the More Knowledgeable Other.................................................119
Individual learning................................................................................................119
Social learning.....................................................................................................120
The Demise of the Driving Tests.........................................................................120
Assessment and the Content...............................................................................121
Programming Pathways......................................................................................122
Collective Learning..............................................................................................122
Happy learning and The Student Voice...............................................................123
Appendices................................................................................................................... i
Word Clouds............................................................................................................. i
What has helped you to learn programming?....................................................... i
What has hindered your learning of programming?.............................................x
You learn best when the tutor does not help directly.........................................xix
You learn best working on real world programming problems........................xxvii
You learn best by solving suitably complex programming problems..............xxxvi
You learn best by working together in teams.....................................................xlv
First Focus Group Questions..................................................................................liii
Consent Form........................................................................................................ lix
Participant Information Sheet..................................................................................lx
References................................................................................................................ lxii
Acknowledgements
A huge thank you to all of the students who took part in this work, I could not have
done it without you. Many thanks also to Motje my supervisor for her support
throughout this project. Last but not least thanks also to Jacqui my wife for putting
up with me on this for the last two years.
i
Abstract
This project is a critical evaluation of a range of teaching learning and assessment
strategies implemented as part of BSc Computing at De Montfort University. These
approaches have been put in place over the last decade, inspired by ideas drawn
from Problem Based Learning. Using Grounded Theory and a mixed methods
approach an evaluation of the effectiveness of the pedagogy has been undertaken.
This research follows an interpretivist paradigm in that it attempts to understand the
nature of the curriculum from the point of view of the students in the study. The
research uses qualitative methods to capture the student voice across three
undergraduate levels. Coupled with quantitative data and examination of existing
theory, efforts are made to understand each of these elements in the light of the
other. Whilst some aspects of Problem Based Learning, such as use of real-world
problems and collaborative learning find strong favour with the students, students
raise concerns relating to problem complexity and the role of tutor as facilitator. It
appears that the principles of Problem Based Learning do not fully account for the
empirical findings and that these findings may better be understood via Cognitive
Load Theory coupled with Bruner’s concept of scaffolding. Making problem solving
the single primary focus of learning may be counterproductive especially for novice
programmers. The findings strongly indicate the need for available, approachable
tutors as a vital part of the learning process. The tutor appears to be strongly cast in
the role of More Knowledgeable Other in enabling the students to develop their skills
and knowledge. In addition to the priority placed on the role of the tutor the value of
worked examples is highlighted for example by the use of live-code.
Recommendations are made for the revision of first year delivery to concentrate on a
sprint based model of assessment. Based on student recommendations relating to
the design of the first year this model of assessment and feedback is hoped to
stimulate better social interactions between the tutor, students and peers.
ii
Chapter One: Introduction
As Programme Leader, Module Leader and DMU Teacher Fellow, various
approaches have been used to teach programming to undergraduate students at
three levels of BSc Computing. This research aims to explore the effectiveness of
these approaches primarily from the student perspective. There are three areas
under investigation in this research. The first area relates to the underlying
epistemology i.e. constructivism and its implementation as pedagogy via Problem
Based Learning (PBL). The second area will investigate the implementation of these
ideas within the course at module level in an attempt to ascertain what approaches
appear to be working and why. The third area relates to exploring the student
experience of learning programming on the programme. Looking at these three
areas simultaneously will provide an opportunity to reflect on the design of the
curriculum and, it is hoped, create adjustments to the curriculum that are ultimately
beneficial to the students.
Constructivism and Problem Based Learning
PBL draws its theoretical basis from constructivism which suggests that human
knowledge is socially constructed (Boud and Feletti, 2003). Humans construct
knowledge via “functional fictions” providing us with a pragmatic understanding of the
nature of reality (Mahoney, 2004). There may well be a knowable universe “out
there” but our understanding may not map accurately.
1
The driving forces of a PBL curriculum are appropriately complex problems to
provide opportunities for students to construct knowledge (Biggs, 2006). To support
them in knowledge construction, students work together in groups to solve the
problem at hand (Boud and Feletti, 2003). Another principle of PBL is the idea of
tutor as facilitator of learning. By this principle the tutor is not always the best
qualified to lead learning as they are too far advanced in the process of constructing
the knowledge (Hoover, 2007). Student learning should also be apprenticeship
based, for example, if a student is learning to be a programmer then they should
encounter and solve real world programming problems (Savin-Baden, and Major,
2004).
Curriculum Design
The next element for consideration is to explore the effectiveness of the curriculum
design. Much module development has grown from initial work exploring work-based
simulations for teaching programming. As the taught content has developed it has
turned into a three year plan for teaching programming running across three
modules; IMAT1604 Visual Web Development, IMAT2204 Project Management and
Development and IMAT3903 Team Development Project.
IMAT1604 Visual Web Development (First Year)
Background and StructureVisual Web Development (VWD) is a first year undergraduate module teaching
three-tier, C-Sharp database-programming to novices on Computing. The module
works on the assumption that students need to first understand the terminology and
concepts of programming before they are in the position to think and act like a
programmer. By the end of the module some students may be able to solve small
programming problems but many will not. All students should however understand
key concepts related to programming and be able to write key code structures such
as loops, functions etc.
2
The module is taught via one, two-hour lab session each week and a one hour
lecture which runs for the first term only. The lab sessions typically start with an
introduction to the work for the session with a live demo of how the code might be
created. Students are encouraged to rely on self study as much as possible. All
materials are available on-line with an extensive library of video tutorials based on
the labs and lectures. There are two assessment tools on the module, The Driving
Test and two lab based phase tests.
The Driving TestsAs the name suggests, the core concept of the Driving Tests is that the student may
fail the assessment multiple times until they finally pass. The Driving Test requires
students to complete code to solve a problem and then answer questions individually
about the nature of that code. As far as possible students are expected to self-
manage how they arrive at solutions to problems and when they take the
assessment. In order to place controls on the assessment process a protocol has
been designed. The protocol is intended to encourage the students to take the
assessment in a timely manner and limit the number of assessments in a given
week. A system of “three strikes and you are out” is applied to reduce the number of
assessment points in a week, additionally the assessment may only be taken once
during the week’s timetabled session
The assessment requires the students to work collaboratively (either formally or
informally) to solve the set problem. The intention is that the tutor stands back from
directly guiding the student. Lastly the test attempts to mirror real-world
programming problems for example students are required to write a program that
might allow for a business customers to make orders for goods.
3
The Phase TestsThe module also includes two phase tests at the end of each term. The tests are
open-book lab based assessments where students are expected to write code from
scratch. At the start of the module, students are presented with a sample phase test
question along with a possible solution. On the day of the test they are presented
with a randomly selected test of similar nature to the one from the example.
IMAT2204 Project Management and Development (Second Year)
Background and StructureProject Management and Development (PMD) is a second year undergraduate
module, teaching programming skills against the backdrop of wider systems analysis
and design. It follows directly on from VWD and is delivered to students on
Computing and students on Information Communications Technology. The module
assumes that students will currently be able to understand the terminology and
concepts of programming but will not as yet be equipped with sufficient problem
solving skills to build a system of medium complexity. The starting point for the
development is founded in the process of analysis and design. The first term of the
module involves the development of design blue-prints, allowing the developers to
understand the problem and express it as a series of diagrams, e.g. Use Cases,
Class Diagrams, Entity Relationship Diagrams and Sequence Diagrams. The
assumption is that students are more likely to understand a system expressed
diagrammatically rather than it being expressed primarily as code. The analysis and
design documentation is then used as a jumping off point for building the code for
the system in term two.
4
Programming PathwaysProgramming Pathways is a step by step approach to programming using Test
Driven Development (TDD). Using this document the students build their system
from small “bricks” of code arising from the testing. By assembling these units the
whole system is built mapping on to the original design documentation. In the same
way a house is built from architectural blue-prints the final system may be viewed
against initial designs to demonstrate it has met the final requirements. By viewing
the system as a set of design documents and resulting code, the assumption is that
the two views of the design re-enforce student understanding of both code and
documentation.
Like VWD the module is split into two terms. The first term contains the bulk of the
taught material to explain the theoretical underpinnings of the work. Labs and
lectures are closely aligned to cover the theoretical practical aspects each week.
Much of the worked examples for PMD call back to those used on VWD. The idea is
that providing a continuity of examples helps to reinforce understanding. Like VWD
there is one two-hour lab in addition to the one-hour lecture. During the second term
the emphasis shifts from delivering taught content in lectures to assessing the
student’s work in labs as they develop the software via sprints.
5
The SprintThe idea of a sprint is taken from agile software development and refers to a time
constrained period of activity undertaken by a development team in completing a
project, typically of one to four weeks (Chromatic, 2008). The students work in
teams of three to five on a shared software project. Each student is required to work
on a unique component of the whole and the assessment is calculated individually.
Every fortnight the team meets with the tutor both collectively and individually. The
individual meeting is strictly timed to five minutes and students have the opportunity
to present partially completed work and obtain both verbal feedback along with a
provisional grade for that component. It is assumed that this opportunity for dialogue
and discussion plays an important role in student learning, not only with the tutor but
with fellow team members. The assessment follows a feed-forward model in that
marks claimed at a meeting may be improved upon at a later meeting thus allowing
students to benefit from tutor feedback.
The eGridAs part of the assessment process for this module eGrids have been used to allow
students to self regulate their progress (Dean, 2012). eGrids are spreadsheets that
contain a detailed breakdown of each assessed component. Students have
individual access to their own eGrid to preserve privacy, along with read-only access
to avoid any tampering with the grade. Students may however download their eGrid
and enter grades locally in order to model their final grade. The tutor has full access
to the eGrid updating the contents of the grid at each five minute meeting. The eGrid
is the pivotal tool in generating the feed-forward assessment and feedback, in that at
each meeting the eGrid is updated with the latest marks allowing the student to
regulate their progress.
6
IMAT3903 Team Development Project (Final Year)
Background and StructureThe Team Development Project (TDP) was conceived as a more “pure”
implementation of PBL principles. In the two modules above there is, by design,
considerable supporting content and tutor support. In the design of this module the
students have access to the content from the previous two levels; however no new
content is available for this cohort. TDP requires the students to work collaboratively
on shared projects of significant complexity. Working in teams of around four they
must negotiate the design of shared components within their respective systems,
very much like a software house in industry would. This process begins with the
creation of design documentation followed by the implementation of the system
code. Students work in sprints of about four weeks meeting the tutor for feedback,
guidance and to obtain marks. At the end of the module students will have complete
a project of significant complexity. This is broken down over the year into the project
proposal, the initial design, the written report and a final presentation. Like PMD this
module makes use of eGrids coupled with sprints allowing students to monitor their
performance.
7
The Student Voice
The final area for investigation within the research is the student perception of the
above teaching and learning strategies. There have been anecdotal indications that
some of the principles of PBL do not actually map to reality. This appears to be
especially true when it comes to novice programmers specifically relating to their
views on the role of tutor as facilitator and negotiating problem complexity. The
impression is that students find programming very difficult. Results for programming
modules are typically lower than other modules for the same students. There are
currently discussions within the Faculty about the best way to address this issue.
Additional support is being proposed of a similar nature to that provided for Maths
and English. Discussions are also on-going, related to revising teaching, learning
and assessment strategies. Are lectures the best way to teach programming and
should they be abandoned completely? What are the best tools for assessment? By
listening to the student voice perhaps some insight may be obtained into these
questions.
Dissertation Structure
This dissertation begins with a literature review, discussing the existing theoretical
basis for teaching programming and PBL. How the research has been undertaken
will be discussed in chapter three. Chapter four will look at the findings and chapter
five will consider the implications of these findings in the light of appropriate theory.
The report will close with appropriate conclusions and recommendations drawn from
the findings.
8
Chapter 2: Literature Review
Introduction
A comment that often arises at exam boards when reviewing computing modules
with low pass rates is the statement “yes but it is a programming module.” Within
this statement is the suggestion that to teach programming is to naturally anticipate
low pass rates. This statement is borne out by evidence. Dehnadu and Bornat,
(2006) note that between 30% and 60% of first year intake in Computer Science fail
the first year. Nor is there an even distribution of failure rates, rather than a bell
shaped curve the trend is towards a “two humped camel” (Dehnadu and Bornat
2006). Perkins et al., (1989) identify two camps within the cohort of novice
programmers. “Stoppers” are those students who, when confronted with the task of
writing code appear to give up. “Movers” represent the camp that keep trying and
acquire the appropriate skills. This literature review covers some of the issues
related to teaching programming, especially to novices, and then goes on to explore
the theory of constructivism and its implementation as pedagogy in Problem Based
Learning.
The Programming Problem
Behind the problematic progression rates there are two issues to consider. Firstly,
learning programming is difficult for students with no background in the subject and
secondly educators in Computer Science have no formal background in education
(Muller and Kidd, 2014). Programming is a process that requires a variety of skills.
A programmer needs to problem solve, plan a solution, write the solution in the
selected language, perform testing, read existing code and have “real world”
knowledge of the application domain of the completed system (Pennington, 1987).
With technology encroaching on a wide range of professions there is also a growing
requirement to educate non computer scientists in programming. For example
geography students now have a requirement to learn programming whilst interacting
with computer technology (Muller and Kidd, 2014). Lastly, it has been suggested that
it takes about ten years for a novice programmer to become an expert (Winslow,
9
1996). In the light of the above points there needs to be effective strategies in place
for supporting both learners and tutors along with realistic expectations of what can
be achieved during an undergraduate degree program.
Different approaches have been taken to addressing the problematical nature of
teaching programming. Dehnadi, (2009) outlines some of these approaches to
teaching the subject. The programming first approach has traditionally been used on
initial programming courses. This approach focuses on the code and the individual
elements of the programming language. The programming first approach however
typically results in many concepts related to object oriented programming being
sidelined and has thus become problematic. The second approach is the concepts
first approach and relies on the use of analogy to teach programming. In this
approach teachers try to make a link between real world concepts and activities to
programming concepts. An example of concepts first might be using children’s
board games to illustrate programming concepts (Curzon, 1999). Thirdly there is the
objects first approach which explores programming from the perspective of object
oriented development often at the expense of traditional procedural concepts.
Pennington, (1987) outlines two types of knowledge required to understanding a
computer program. Text structure knowledge arises from understanding the
“alphabet” of a program, for instance “sequence” and “repetition”. Plan knowledge
takes a higher, level view. In this view a program is a set of outcomes achieved by
combinations of code units. In the former position, the code is viewed as units of
code, in the latter; a program is a desired outcome. The former approach to
teaching programming has traditionally been the approach taken by computing
curricula (Robins, Rountree, Rountree, 2003). For example such an approach might
concentrate on the building blocks of a language e.g. loops, variables etc. This
alphabet approach however may fail to cover the wider application of those building
blocks within a finished system. For example, this might create a situation where a
student understands how to code a “for-loop” but has no idea when best to
implement that control structure within a finished system (Davies, 1993).
10
Lister et al, (2004) Note that that many graduates are unable to write code upon
graduating. When asked to predict the outcome of a section of code students were
unable to do so demonstrating poor problem solving skills. Dehnadi and Bornat,
(2006) paint a bleak picture in collective efforts to teach programming. They
describe the initial enthusiasm of staff and students entering the first year that turns
into a state of demoralization for both.
“They struggle on to the end of the course, for reasons of personal pride, family
pressure or because of a lack of pastoral support and a dearth of escape routes,
disillusioned and with a growing sense of personal failure. Those who can learn, on
the other hand, are frustrated by the slow breeze of teaching, a wind tempered to the
struggling shorn lambs. Teachers become demoralised that once again they’ve failed
to crack the problem. Everybody tries their best, and almost everybody ends up
unhappy – until the next year when a new intake begins a new course with their
motivational batteries fully charged.” (Dehnadi and Bornat, 2006, p. 2)
Du Boulay, (1989) identifies five areas of potential difficulty that students must
overcome in learning programming. Firstly there is orientation where a student
understands what programs are and their potential. Secondly there is the idea of the
notional machine which is a model of the computer as it relates to the program.
Thirdly there is notation, i.e. the syntax of the language. Fourthly there is the concept
of structures, e.g. the common algorithms. Lastly there is the pragmatics, which is
the skill of constructing code along with associated activities e.g. testing and
documentation.
Du Boulay goes on to note that one of the problems of learning programming is that
the student must address these issues all at once, thus generating something of a
shock.
“None of these issues are entirely separable from the others, and much of the
‘shock’ [. . .] of the first few encounters between the learner and the system are
compounded by the student’s attempt to deal with all these different kinds of difficulty
at once.” (du Boulay, 1989, p. 284)
11
In order to comprehend each of these five domains students need to build mental
models of what is going on within the computer (Robins, Rountree, Rountree, 2003).
If these mental models are faulty then it becomes difficult to grasp and predict what a
program is doing. Ben-Ari (1998) illustrates this with an example similar to the
following:
A = 3; //A is assigned the value of 3
A = 8; //A is assigned the value of 8
B = 5; //B is assigned the value of 5
Display(A,A,B); //Display the data held in A, and B
One common misconception among novice programmers is the idea that a variable
may store two values simultaneously. If a novice programmer believes this, then they
might erroneously conclude that the output from “Display” would be 3, 8 and 5 rather
than the correct answer 8, 8 and 5. (The initial value of 3 assigned to A has been
over-written by the new value of 8.)
There may also be a tendency to anthropomorphise the computer system. A novice
programmer may write a section of code, expecting the computer to understand their
intent. They wrongly imagine that the computer will “get” what they as a programmer
mean by their efforts at code, but fail to appreciate that the computer is simply a
machine (Spohrer and Soloway 1989). There are also issues related to the
confidence of individual students. Even if the student “knows” the answer to a
programming problem this knowledge may be described as “fragile knowledge”
(Perkins and Martin, 1986). In the case of fragile knowledge they may know the
answer but fail to act on that knowledge.
There is evidence suggesting that the formulation of these mental models has an
impact on how successful in assessment a novice programmer will be. Dehnadi,
(2009) studied students to understand their mental models of programming. Who
held what mental model, was correlated with test results from experimental data
along with final test results. Within his sample he identified two groups of students
who perform significantly differently. More than half of novices in the sample appear
to build and consistently apply mental models of programming whilst the rest do not.
12
In his findings the first group performed much better in their final examination with an
85% success rate whilst the second group achieved 48%.
The questions therefore arise how are these mental models refined and developed
and what can be done by educators to facilitate this process? There are many
different theories of learning, however, there is insufficient scope to look at each of
these in detail but we shall provide a very brief introduction and concentrate on
theories related to constructivism and ultimately Problem Based Learning.
Building Mental Models
In classical thought Plato suggested that knowledge is “a recollection of something
the soul has already learned previously” (Silverman, 2014). By this logic if you did
not know something “previously” then there is no point attempting to learn it. This
view however still leaves the basic question unanswered, that is how did the
knowledge get there in the first place? John Locke in the 17 th century however
suggested an alternative view. Rather than knowledge being already present in the
subject, humans start as a “blank slate”. Rather than the knowledge being built in, it
is the ability to acquire knowledge that is inherent (Phillips, 2015).
In order to understand the world around us it is necessary to make assumptions
relating to its nature, i.e. an ontology or world view. For this discussion we shall
consider two such views, they are logical positivism and constructivism. As a world
view, logical positivism takes the view that knowledge exists, “out there as objective
truth” (Boud and Feletti, 1998, p127). In a logical positivist position, there is an
objective reality to be understood and most significantly, personal subjective
experience plays no part in understanding this reality. Data from this objective reality
is:
“passed through mental structures by cognitive mechanism in an analogous way that
a message flows through a telephone wire. The process of learning becomes one of
mapping this external knowledge into some form of internal representation that more
or less approximates the external ‘objects’” (Knuth and Cunningham, 1993, p 164).
13
Constructivism takes a different view of reality, knowledge and ultimately how we
learn. In this view, knowledge is “constructed” by the learner via their direct personal
experience of reality, rather than “poured into their heads” via text books and
lectures (Ben-Ari, 1998). Rather than starting with a “blank-slate” our view of external
reality is filtered and coloured by a number of factors including our prior knowledge,
expectations, emotions and prejudices. The internal beliefs and perceptions of the
individual will inevitably have a direct impact on their behaviour. For example
Morrison (1998) notes, “if I believe there is a mouse under the table, I will act as
though there is a mouse under the table, whether there is or not.” Constructivism
takes the view that there is a knowable universe “out there” however our internal
constructed version of it will inevitably fail to map (Boud and Feletti, 1998).
Critics of constructivism voice the concern that it leads to solipsism, which is the
belief that there is no external reality only ones own thoughts. Matthews (1994, p.
151) comments with concern that, “‘we cannot know reality,’ is endemic in
constructivist writing”. It is not within the scope of this discussion to resolve these
questions, however the more extreme versions of constructivism may possibly be
tempered by the acknowledgement of a knowable universe “out there”, whilst
recognising that our personal constructed version of it is imperfect (Boud and Feletti.
2003). As a counterpoint to such criticisms of constructivism it is also worth noting
that taking a solely logical positivist view of reality should also come with some
humility. Kuhn, (1970) notes that science has a history of revolutionary change and
long held “firm” scientific ideas may over-time be overturned by on-going scientific
discovery.
14
The development of mental models to correctly understand the outside world is not
unique to those learning programming. Piaget (Piaget et al., 1956) devised the three
mountain task to examine learning in children. Children are shown a scale model of
three mountain peaks and asked to describe the mountains from a different
perspective. Piaget found that children between four and six could understand the
question but were unable to do what was asked of them (Jarrett and Ginsburg,
2008). Another concept driving learning in Piaget’s view is that of accommodation
and adaptation (Glaserfield, 1989). In this case learning and change come about
when a person encounters an unexpected result. It is in fact the problems we
encounter that provoke learning. Upon encountering a problem we accommodate the
unexpected outcome with new information (accommodation) and ultimately adjust by
modifying our internal models (adaptation).
A contemporary of Piaget, Vygotsky did much to advance theories related to learning
in humans. As mentioned above, some considered intellectual capacity to be innate
in children. Such capacities were therefore waiting for an opportunity for them to
manifest, rather like a plant growing to its mature state. Vygotsky argued against
existing views on intellectual development. He argued that there were differences
between the way that plants might mature to their potential, or that an animal might
respond to its environment. Humans have an additional dimension to learning,
which is language, giving rise to social interaction (Vygotsky, 1978). In this work he
uses the following example, a baby grabs for something that they want and the
parent provides this to them. At some point the link is made between grasping for an
object and communicating with a person. The act of grasping turns into the act of
pointing which becomes part of the repertoire of human communication.
15
By interacting with the external environment sophisticated mental processes are
developed. In Vygotsky’s view these higher functions are determined by the culture
an individual develops in. For example, in a literate culture we may use note taking
to aid memory; however in pre-literate societies such devices as tying knots, carrying
pebbles or verbal repetition may be used (McLeod, 2007). Vygotsky continues with
the idea that learning occurs also via interaction with a skilled tutor or More
Knowledgeable Other. Shaffer (1996) uses the example of a child completing a
jigsaw. The parent initially provides some basic strategies for attempting the puzzle,
yet over time allows the child greater autonomy as they become more competent at
the problem. In this example we see the parent taking the role of Vygotsky’s More
Knowledgeable Other illustrating the kind of social interaction using cooperative and
collaborative dialogue promoting cognitive development.
Another concept put forward by Vygotsky is the Zone of Proximal Development.
Related to the concept of More Knowledgeable Other it relates to those tasks a child
can complete without assistance compared to those tasks a child needs guidance
and support (McLeod, 2007).
“The zone of proximal development defines functions that have not matured yet, but
are in a process of maturing, that will mature tomorrow, that are currently in an
embryonic state; these functions could be called the buds of development, the
flowers of development, rather than the fruits of development, that is, what is only
just maturing” (Vygotsky, 1978, p. 86).
Vygotsky sees the zone of proximal development as the area where guidance and
instruction should be given, facilitating the development of further higher mental
functions.
16
Constructivism as Pedagogy
Constructivism being a theory of learning does not favour or reject its implementation
by any specific means of delivery. Mason, (1994, p 197) remarks dryly “Many
educators espousing constructivism have been known to attend lectures on
constructivism, and even to have enjoyed them!’’ Based on constructivist principles
passive learning however is likely to be unsuccessful as learners are bringing with
them existing knowledge, experience and different strategies for constructing
knowledge. Learning in this view must be active with the participation of peers and
the tutor in order to develop mental models (Ben-Ari, 1998).
Whereas constructivism describes the educational theory, Problem Based Learning
represents a pedagogy arising out of these theories. The origins of PBL date back to
the 1960s at McMaster University Medical School (Schugurensky, 1996). Being a
new hospital and medical school the opportunity was taken for devising new
approaches to medical education (Baden, Major, and Savin-Baden, 2004). PBL was
hoping to address findings that “medical students and residents for the most part did
not seem to think at all. Some gathered data ritualistically and then tried to add it up
afterwards, while others came up with a diagnosis based on some symptom or sign,
never considering possible alternatives.” (Barrows and Tamblyn, 1980). Prior to the
introduction of PBL, medical schools typically imparted knowledge via a lecture
based curriculum. The lecture based approach was structured as an “organ based”
curriculum focussing on essential areas of medicine e.g. anatomy, physiology,
pathology and treatment. McMaster University continued to cover these topics but
within the context of case based problems to facilitate student learning
(Schugurensky, 1996).
The PBL approach to teaching was considered to revitalise the teaching and learning
process for students. Student engagement appeared to improve, and the focus on
problem-solving skills appeared more appropriate to a rapidly advancing field of
knowledge rather than expecting students to rote learn knowledge that may be out of
date by the time they graduate (Boud and Feletti, 2003).
17
In its initial inception PBL consisted of the following core concepts: Students are
presented with complex real world problems with no single “correct” answer. The
students work in teams to devise solutions to the problem at hand gaining knowledge
through self-directed learning. Members of staff take on the role of facilitators of
learning rather than taking on the role of expert (Baden, Major, and Savin-Baden,
2004). The problems presented to the students should be drawn from real world
practice; if a student is learning to be a Doctor then they should encounter and solve
real world medical problems (Baden, Major, and Savin-Baden, 2004). Students are
given opportunity to interact with each other in teams or groups. As a group of
students learn, each student in that group though working on the same task will have
different perspectives and insights in understanding what is required. The
assumption is that social interaction is an important factor in learning (Boud and
Feletti, 2003). In framing the role of the tutor as facilitator the assumption is that the
tutor is not the best qualified to teach the students as they are too far ahead in their
knowledge. The best people to teach the students at any point in time are the
students themselves. The role of the Tutor therefore is to create opportunities for
students to construct their own knowledge whilst maintaining the role of facilitator
(Hoover, 2007).
Another perceived benefit of PBL is that it creates a holistic approach to knowledge.
For example, if students were presented with the topic of global warming as a
problem to solve it would also bring into the discussion issues such as politics,
culture and meteorology. Rather than compartmentalising knowledge in individual
lecture sessions the issues are viewed as interconnected ideas (Boud and Feletti,
2003).
PBL is however not a simple recipe for pedagogic design. As PBL has spread to
disciplines beyond medicine it has been adapted to address discipline specific
issues. In technical subjects, such as engineering there may be a prerequisite body
of knowledge such as mathematical skills that need to be acquired before the
student may appropriately engage with suitable problems and in some
undergraduate programmes PBL may take place in the latter stages of the degree
(Baden-Savin and Savin-Baden, 2000).
18
A PBL curriculum may be delivered in a wide variety of ways. For example, lectures
may be used to deliver core concepts whilst problems may be explored in small
group sessions, case studies may be used to discuss issues or “closed loop” PBL
where the emphasis is on the mechanics of the problem-solving process and how it
might be developed. A PBL curriculum may include cross disciplinary knowledge,
emphasis on knowledge acquisition skills rather than (but not to the exclusion of) the
knowledge itself, a focus on student led (peer) assessment and an emphasis on
interpersonal and communication skills (Baden-Savin and Savin-Baden, 2000).
Criticism of Problem Based Learning
PBL is not without its critics and there are perceived issues. PBL being an unfamiliar
approach to pedagogy may present issues for both staff and students. Staff and
students may require additional training/guidance to become familiar with the
approach and students may not use the time for independent study wisely (Overton,
2010). There may also be issues related to cognitive load. Should the student be
presented with too many elements to process simultaneously it may place too great
a demand on their ability to process data (Gerjets, Scheiter and Catrambone 2004).
Sweller, (2006) considered the learning process from two perspectives. Firstly there
is that knowledge already acquired in long term memory that has been “borrowed”
from the knowledge of others. Secondly there is that learning that is acquired via
short term memory. The issue presented here is that the capacity of the brain to
process new information in short term memory is relatively small, whilst the brain can
process a much larger quantity of data already stored in long term memory.
Knowledge in long term memory may be “borrowed” from others via worked
examples, whereas processing problems in short term memory requires an element
of trial and error which is both time consuming and demanding for the student. In this
view it is by combining problems with worked examples that provokes learning.
19
Lastly there is the issue of unfettered discovery (Ben-Ari, 1998). In its extreme form
the students are presented with a problem and left to find a solution with minimal
input from the tutor. This can be very time consuming, and have a detrimental
impact on student engagement (Provan, 2011). This is also supported by Bruner
(Bruner, 1962) who differentiates between episodic constructivism where the student
acquires unconnected facts contrasted with cumulative constructivism where the
process of discovery is organised.
Conclusion
In teaching programming there are clear challenges in engaging students, especially
for novice programmers. This difficulty is compounded by a lack of educational
background amongst computing staff. Constructivism coupled with Problem Based
Learning, perhaps offers a way to approach some of these issues by facilitating the
development of appropriate mental models. PBL is not without criticism though, both
philosophically and practically.
20
Chapter Three: Methodology and Research Methods
Introduction
The primary focus in this research has been grounded theory combined with mixed
methods. This project represents an opportunity to listen to the student voice and
gauge the merits of the implemented pedagogy. The research included the use of
questionnaires and focus groups triangulated with a study of the existing body of
research on the subject. At all points, appropriate ethical and security considerations
have been in place.
Research Methodology
To introduce the selection of overall research methodology and research paradigm
we shall contrast two events; firstly the physics of a cannon ball and secondly the
dynamics of a classroom.
When a cannon ball is fired, there are several aspects to this event. Firstly, the
event is measurable. We may record the distance traversed by the ball and we may
record the arc of the trajectory. Secondly the event is repeatable and controllable. It
is possible to repeat the event having control over the variables, such as the size of
the ball, the quantity of explosive and the angle of the cannon. Having the possibility
of adjusting various aspects of the event allows for the creation of controls. We are
now well placed to discover correlations between the different variables by creating
controlled experiments.
21
Would it not be useful to have the same insight and control into the inner workings of
a taught session? There are certainly variables that may be measured during and
after the class, perhaps we only need to measure progression rates and attendance
data? There are however several other issues to consider too. The class “event”
unlike the firing of the cannon is not repeatable and controllable. How many times
have we taught the same lesson in a week knowing we have a “good” group and a
“bad” group? Asking a single group of students to sit through the same class
repeatedly while we adjust individual aspects of the activity would produce several
variables out of our control, not least the fatigue and interest levels of the students
and the tutor. Perhaps we might atomise the experience via a controlled
experiment? But would this not in of itself create a new set of issues, for example are
the results of this experiment still applicable to the real-world activity? Unlike a
cannon ball the class is a personal, potentially private, subjective experience for tutor
and students alike.
There are a multitude of variables out of the tutor’s control and inaccessible to direct
measurement. These make measuring the following aspects difficult. The first
aspect relates to causality (Halai, 2004). How can we know what specific feature of
teaching practice had benefit to which area of student learning? The second aspect
relates to trying to measure the presence of learning. How do we know that learning
has taken place in a class? Is it conceivable that even though a student has failed
the assessment they themselves have learnt a great deal from the class?
22
Broadly speaking educational research may be divided into two paradigms, positivist,
and interpretivist (Cohen, Manion and Morrison, 2007). The positivist paradigm
draws from the natural sciences making certain assumptions about the nature of
knowledge and reality. In the positivist paradigm knowledge and reality exist
independently from the observer. Positivism seeks generalised laws and principles
that explain why things behave the way they do (Denscombe, 2003). Applying
positivism to an educational context, we would need to find repeatable patterns
perhaps by means of experimentation and large data sets. Like the cannon ball we
want to learn the “physics” of the situation. This may be useful in ascertaining a big
picture view of learning and teaching however it struggles to provide insight in to the
simple question of “how did a class go and why?”
Alternatively the interpretivist paradigm sees knowledge and reality as subjective,
personal, and unique. Rather than looking for general objective laws that govern a
situation we seek individual perspectives on knowledge and reality (Cohen, Manion
and Morrison, 2007). In the context of understanding “how did a class go?” we could
simply ask the participants of the class. However, in this paradigm there is
potentially an issue of rigour. How can we be sure that the subjective views of the
participants are in fact representative of what happened (Angen, 2000)?
Rather than create a false dichotomy by selecting between the above paradigms,
there is a third option that is the mixed paradigm (Cohen, Manion and Morrison,
2007). The mixed paradigm draws from both the above paradigms taking a position
that both views have merit. One of the benefits of the mixed paradigm is that it
encourages triangulation (Denscombe, 2003). Triangulation draws its analogy from
sailing whereby knowing three points, a vessel can calculate its location. By using
findings for example from a quantitative (positivistic) study, comparing the results
with the qualitative (interpretivist) findings in conjunction with existing research we
may use the points of correlation in the three points to get a better picture of where
the truth may be.
23
Data collection methods
Grounded theory first originated with Glaser and Strauss (1999). In the case of
grounded theory, theories arise out of empirical research rather than starting with a
theory and then looking for the supporting evidence (Denscombe, 2003). The
starting point of the research is data gathered in the field of research. From this data,
patterns form and the theories arise. There are certain common elements to the
various forms of grounded theory namely theoretical sampling, coding, constant
comparison, the core variable, and saturation (Cohen, Manion and Morrison, 2007).
Theoretical sampling involves collecting data, reviewing the data, and then deciding
where to go next. In this process the emergent theory should become visible. This
process continues until saturation, at which point no new insights into the theory are
produced. Coding is the process of taking the data e.g. interview transcripts and
breaking it down into smaller sections until themes start to emerge. From the coding
process, categories start to emerge and by the process of constant comparison new
data is compared with the existing data to form a harmony of codes and categories.
If there is a poor fit between data, categories, or theory then the theory must be
reviewed (Cohen, Manion and Morrison, 2007). As this process continues the core
variable is identified. “The core variable is that variable that integrates the greatest
number of codes, categories and concepts, and to which most of them are related
and with which they are connected.” (Cohen, Manion and Morrison, 2007, p 601).
There is a note of caution on the matter of reaching saturation point that is the
understanding of the research topic comes in layers. It is possible to think you have
arrived at the top of the peak only to see a new one arise over the horizon. There are
times when the constraints of grounded research are not based on having found “the
answer” but on running out of time (Bell, and Waters, 2014). This leads to some of
the drawbacks of grounded theory. Since the exact point of saturation is not known
at the start, grounded theory does not lend itself to precise planning. It is a voyage
of discovery where the end is not in sight when we start. Some also contend that in
the worst case grounded theory might be a euphemism for bad research. To counter
this there needs to be a clear idea of the research topic along with a clear basis for
selecting the sample, avoiding a “try it and see approach” (Denscombe, 2003).
24
Grounded theory does not specify any data-collection tool. It does tend to favour
unstructured approaches such as open ended questionnaires, field notes from
observation and unstructured interviews (Denscombe, 2003). In this research
project, a literature review, questionnaires, interviews, and focus groups have been
the main tools.
Ethics
Unlike the physics of a projectile the mechanisms at work in a learning environment
are personal, subjective, and potentially private. At all points during the research,
ethical considerations are paramount. There are three areas that need to be
considered in undertaking ethical research. Firstly, the participants’ interests should
be protected; secondly the researcher should not deceive or misrepresent the
research and thirdly participants should provide informed consent (Denscombe,
2003). On the first point the researcher needs to consider the physical safety of
participants. Even though physical harm may be unlikely a sensible thoughtful
approach is required. Additionally, the researcher needs to consider the
psychological safety of the participants. For example, as a potentially perceived
authority figure the researcher needs to be aware how this might impact on the
sense of wellbeing of the participants. Lastly there is an issue of reputational harm,
for example, if information disclosed falls into the public domain that may be private
and potentially damaging to the participant. As discussed below there are issues to
consider related to security of the data gathered along with a sensitive unbiased
approach to the focus groups. As far as possible there has been transparency
related to how the data is captured what the data is for and the availability of
findings. By implementing appropriate levels of transparency deception should not
be an issue, however, it is important to ensure that the participants are not
misrepresented in any way so impartiality is maintained as far as possible. Lastly at
all points participants have been provided opportunity to give informed consent. This
is especially important when gathering data in class. There may be potential issues
with students feeling pressured to conform to providing data in a class of mostly
cooperative students complying with the tutor, an authority figure. It is important that
not only informed consent is provided but also mechanisms to opt out do not
adversely draw attention to those individuals.
25
The Role of the Literature Review
Within grounded theory there is debate on the question of does an initial literature
review potentially pollute the process (Cohen, Manion and Morrison, 2007)? Purists
might argue that grounded theory should start with no preconceptions on the subject
therefore a literature review would be out of the question. However, this extreme
position is not usually taken; existing theories are viewed as open to question in the
light of the empirical findings (Denscombe, 2003). The researcher should start the
line of research with an open mind. An open mind does not however equate with a
blank mind. The researcher needs to be aware of existing theories related to the
subject at hand (Denscombe, 2003). Part of the research question under
consideration is the match of empirical data to constructivist theories. To produce
this critical analysis of PBL it is necessary to understand the theoretical basis. That
being the case a literature review has been undertaken into constructivism and PBL.
Questionnaires
Questionnaires are often used as a mechanism for capturing data from the “horse’s
mouth” (Denscombe, 2003). In this research project the sample is something of a
captive audience in that it is based on the taught cohort of students. It was made
clear that students have the option to decline participation should they wish.
Denscombe (2003) raises several points about questionnaires that certainly relate to
this research project. Questionnaires are typically used to capture a large quantity of
data which helps to average out the margin of error (Bell and Waters, 2014).
Questionnaires allow for standardisation of the data by applying the same questions
to the sample cohort. Questionnaires require a great deal of skill to construct. There
are potential issues related to a mismatch between what the author means in their
questions and how the respondents interpret the questions. In writing a
questionnaire it is important to select words carefully, with clear unambiguous
questions that do not lead the respondents in a certain direction. It is also important
that the language is pitched at a level suitable for the sample cohort (Bell and
Waters, 2014).
26
Programming Preferences Survey
The first questionnaire involved the use of the Programming Preferences Survey.
The survey was intended to gauge student preferences specifically in learning
programming. Considering the substantial administration and data processing
requirements it was decided to deliver the questionnaire electronically. A long-
standing web site frequently used by the students was used to deliver the
questionnaire (Dean, 2017).
Security
Security can be a mixed blessing when gathering data. On one hand, it is a
requirement for any web system to avoid unauthorised access; on the other hand it
can easily become a barrier if the security requirements are too stringent. Due to the
bespoke nature of the questionnaire it was decided not to deliver it through
proprietary systems such as Blackboard, so some sort of custom security would
need to be implemented. One important aspect of a secure system is secure
communication. The intention here is to stop access to any data transmitted
between source and destination. All access to the questionnaire is via a secure
connection using appropriate data encryption. Having previously created systems
granting students access to open ended questions with full anonymity it had been
noted that this was on occasions open to abuse. This abuse took the form of those
outside of the study accessing the system and some students acting in an
inappropriate manner. This being the case there needed to be a mechanism for at
least in part controlling access yet also maintaining anonymity.
27
Students have already been registered as part of an existing system on the server.
This meant that any valid users of the system could be identified by looking up their
student numbers in this existing system. This would not however allow for
anonymous access since as soon as their student number was known then it would
be possible to look up individual students. To resolve this, the system generates a
hash key based on the student’s number. A hash key is a long alphanumeric string
that is commonly used to secure passwords on servers. From a string of characters
e.g. “mypassword” the hash key is generated for example
“8CEE563B099CCF58C98D0BD55F712F1400281809”. Unlike encryption where it is
possible to calculate the original text from the encoded text, the reverse processing
is much harder with a hash. To add to the complexity of the hash, participants were
invited to input their date of birth. By combining the date of birth with their student
number a much more secure hash is generated.
Informed Consent
As part of the ethical considerations of the research it is important that all
participants have informed consent. This allows them to understand such things as
the background to the study, implications of involvement and the right to withdraw
(See Appendix).
28
The first page participants see when accessing the questionnaire is the participant
information sheet. Students were invited to complete the questionnaire at the end of
their taught laboratory session. This provided opportunity to explain the nature of
informed consent and allow them to fill in the consent form. The voluntary nature of
their engagement was made clear and no attention was drawn to those who elected
not to complete the questionnaire. All consent forms were gathered in at the end of
the taught session completed or otherwise.
Having read the participant information sheet the respondents need to complete the
information for generating the hash key.
Students also identify their year of study, this is not incorporated into the hash and is
used to group responses within specific years. Should a respondent be happy to
break anonymity they may indicate this by ticking the box provided. If a student
elects to do this their student number is recorded along with their submission. Once
the hash key has been generated they may proceed to the questionnaire itself.
The Questionnaire Design
The questionnaire was intended to be qualitative in nature. Since grounded theory is
in large part a listening exercise the design of the questions are such that they offer
students several open-ended questions. To provide some focus to the questionnaire
the following structure was applied.
The questionnaire consists of two main sections.
29
“Your Learning" – to enquire in general terms what has helped or hindered their learning of programming.
The Teaching – eliciting responses to specific questions related to problem based learning.
Your Learning
In this section students were invited to make general comments of what has helped
or hindered their learning of programming so far in their studies. These sections
were deliberately left open ended to allow free expression of response.
So far in the course what has hindered your learning of programming? So far in the course what things helped you to learn programming?
The Teaching
The focus of the research is to try and evaluate the benefit or otherwise of strategies
associated with PBL. It was decided that to do this, students should be given some
sort of indication as to the basic premises associated with PBL.
30
Students were provided with the following list of pointers:
Problem Based Learning is an approach to learning based on the following
assumptions.
You learn best by solving suitably complex programming problemso Students are presented with problems to solve, which are
complex enough to be challenging to them without any clear single solution.
You learn best by working together in teams to solve these programming problems
o By working in teams, different views on the problem are generated which aids the learning of all team members.
You learn best when the tutor does not directly help you to solve these programming problems
o The tutor is not always the best qualified to direct student learning as they know too much to be of use to the students. The tutor should therefore help students to learn without always relying on their tutor.
You learn best working on real world programming problems using real world tools and strategies
o This means that your learning activities at University should be the same as employment activities in industry.
Students were then given opportunity to respond to these points like so:
Explain why you might agree or disagree with the following statements: o "You learn best working on real world programming problems
using real world tools and strategies." o "You learn best by working together in teams to solve
programming problems." o "You learn best by solving suitably complex programming
problems." o "You learn best when the tutor does not directly help you to
solve problems."
Data was gathered from all years of the course in both term one and term two. The
sample contained some students directly taught by the researcher; however,
including students outside of direct contact reduces the risk of students saying what
they think the researcher want to hear and associating final marks with their
response. Coupled with options for anonymity and the large sample size would also
help to improve the quality of the data.
31
Learning Preferences Survey
The second questionnaire was the Learning Preferences Survey. The Learning
Preferences Survey was developed as part of previous Teacher Fellow research.
The survey allows students to express the value students place on different
approaches to teaching in two ways. Firstly, they may specify the value they place
on different teaching strategies in a range of 0 – 5. Secondly there is a Boolean
option identifying if a teaching strategy is essential or not.
Once the data has been gathered from the sample population it allows for ranking of
each element based on the value the students place against them. This allows the
researcher to obtain a sense of the relative value of different teaching and learning
strategies within the cohort. The output from the survey is ranked in tables of
learning strategies.
32
For example, in this case based on their value to student learning we might assume
that lab sessions have greater value than reading class notes.
In this case based on the essentiality of each activity we might assume that both labs
and lectures have a high essentiality rating when compared to other aspects of the
teaching.
The use of the survey came quite late in the research with a limited sample size of 8
final year students. Fortunately the survey has been used year on year and many of
the results are comparable with those from previous years. The survey was modified
in this project to try and gauge the value students place on Programming Pathways.
33
Focus Groups
The results obtained from questionnaires must by their nature be taken at face value.
In the case of interviews and focus groups a much more nuanced understanding of
the data may be obtained. Tone of voice, hesitation and facial expression are all
available clues for the researcher. These are not obtained via a questionnaire (Bell
and Waters, 2014). A focus group is typically between six and nine people brought
together to discuss thoughts feelings and ideas related to the research topic
(Denscombe, 2003). They are often relatively informal and may help to encourage
people to contribute who might by nature be inclined to hold back in other situations.
One of the problems with the above approaches to research is the interviewer effect.
The quality of data obtained from the interviewees may be undermined by the
interviewer’s manner, their perceived level of authority and position relative to the
people interviewed. For instance, if the interviewer appears too harsh or indifferent
these behaviours may influence the respondent’s behaviour. Also, the perception of
the interviewer re age, gender or race may also influence the respondents such that
they may not fully disclose or even say what they think the interviewer wants to hear
(Denscombe, 2003). One issue to consider with focus groups are the mechanisms
for transcribing the data. Typically, this is handled by hand written notes and some
sort of audio / video recording device. Recording of the sessions is helpful but the
presence of recording equipment may inhibit the responses and not everybody may
be happy to be recorded (Bell and Waters, 2014, p. 178). Other issues to consider
are what happens to the recording, how long the recording is to be kept and the
security on devices storing the recording. Also, when the recording is completed
typically a transcription is produced which adds an extra time overhead.
Two focus groups were included in the research. The first focus group was of a more
generalised nature exploring themes of student learning preference and aspects of
problem based learning. The second focus group focussed on initial findings arising
from the Programming Preferences Survey.
34
The first focus group was run mid-way through the first term. This focus group
allowed for detailed discussion about the student’s preferences for learning
programming. All students were invited to participate from all years of the course.
On the day there were two representatives from the second year and two from the
final year. The intention was to keep the discussion as open ended as possible. The
participants were re-assured of confidentiality and that there were no right answers,
only honest one. Students completed the consent form having explained the
contents of the participant information sheet, along with time to read and consider it.
Each student had a printed booklet with the questions for the session upon which
they could make hand written notes (See appendix). As with the questionnaires if
they wished they could elect to break anonymity by adding their student number to
the front of the booklet.
As a general outline to the focus group the following areas were used as a catalyst
for discussion.
Discussion related to learning programming on specific modules Experience of specific teaching and assessment strategies Exploration of Metaphors related to programming
The following metaphor was used as a starting point for the discussion.
“What I did not enjoy about the module was that the first time we were told to go off
and create our own project. It felt as if we were thrown into the pool. As in, we have
had a couple swimming lesson so we knew the basics, but then the instructor takes
you to the English Channel and tells you to meet him at the end.”
The students were invited to comment on the metaphor, decide if they agreed and
come up with their own metaphor. This metaphor had been presented to the
students in advance of the session so that they had time to reflect on their thoughts.
The Second Focus Group
This second focus group ran after the Programming Preferences Survey had been
completed in the second term, the idea being to feed initial findings from the
35
Programming Preferences Survey back into the group to gain further insight into
what they might mean. This time only three of the students could attend, two from
the final year and one from the second year. The questions discussed at this
meeting related to the nature of lectures and live-code along with the student views
on Programming Pathways.
Data Analysis ProceduresTheoretical Sampling
The theoretical sampling was carried out via the above questionnaires and focus
groups. A range of tools have been used in the analysis of the data. Data has been
captured in the most part electronically and processed in Access, Excel and NVivo.
The data being stored in a database allowed for the questions to be grouped, filtered
and exported between applications.
Coding and Constant Comparison
The first tool applied to the data was NVivo’s facility to perform word frequency
analysis to get a sense of the most commonly used words from the Programming
Preferences Survey. This allowed for a large quantity of data to be processed
quickly in order to have some initial findings in a timely manner for the second focus
group. In addition to the rapid turn-around it would also help to reduce confirmation
bias by automatic processing of results. In considering what helps students learn
programming, all responses across all years were turned into word clouds. As well
as being able to analyse the data for each year of the course, data was also
available for specific terms within a year. This allowed for a fine level of data
resolution as module delivery shifts from term one to term two on each year.
36
For example the following word cloud illustrates the question of what helps students
learn how to program based on data for the whole cohort across two terms.
This word cloud is based on the following top 10 auto-generated codes.
37
This second example looks at the same question but this time for year three students
responding in term one only.
In all there were six questions with responses from all years and all terms.
38
The next phase of examining the data involved exporting the results into NVivo and
manually coding the data. This process came in several passes. The first pass
involved grouping the data around key words e.g. “lectures”, followed by multiple
additional passes where these smaller unites were grouped into larger data sets.
From the 1000 individual responses a structure became apparent and this structure
was used to generate the main codes and themes for the research. There are certain
assumptions being made. Firstly when a student states a preference for a certain
aspect of their learning this is viewed as a two sided coin. For example when a
student states that they benefit from working through notes, from the point of view of
the tutor we need to think in terms of the content generated. From the point of view
of the student we need to think about what aspect is this catering for in them. In the
case of notes then this has been grouped as “individual learning”. In the case of a
lecture this has been grouped as collective learning.
The Focus Groups
In the case of the second focus group initial findings from NVivo’s frequency analysis
tool were used as the basis for the discussion. As noted previously, this tool has
allowed for rapid processing of a large amount of data. In the case of both focus
groups a recording was made, manual notes by the researcher and hand written
notes by the participants. The recording was transcribed and all data input into
NVivo for further manual coding.
Conclusion
By approaching the question of how best to teach programming grounded theory has
been used in order to ascertain the student voice. Clearly there are concerns with
the potential value of this data as considered in isolation it is potentially highly
subjective. To counter this, a mixed methods approach has been taken. By
triangulating the qualitative data, quantitative data and existing research it is hoped
that a picture has emerged giving clues to the effectiveness of differing approaches
to teaching.
39
Chapter Four: Findings
Introduction
By constant comparison an iterative approach has been used to process the data to
try and understand the student voice. That being the case the findings are
presented in a manner reflecting the journey through which they were discovered.
By the end of this section the reader will have a picture of what themes are present
and also the way that they came to light.
Overview of Codes
Before looking at the codes within the context of the findings, we will begin by
introducing them.
Pace and level The speed at which a learner is expected to process content coupled with their skill, knowledge and confidence level.
Individual learning Learning the student engages in as an individual, e.g. working through examples, reading notes or books.
Social learning Learning the student engages in with others where there is some measure of interaction. Social Learning includes both when students seek clarification from the tutor or discussing issues with their group / team members.
Collective learning Activities where the student takes a largely passive role alongside other students, for example attending a lecture.
Learning Modes The modes of learning (selected from above) by which a student elects to learn for a constrained period of time
Happy learning The preferred emotional tone of learning in any and all contexts
The Student The person engaged in the learning process.
The Tutor The perceived leader of learning that is not a student’s peer. Vygotsky’s “More Knowledgeable Other”.
The Team Fellow students with whom a student interacts as part of social learning activities.
Lone Rangers Students who do not work well in teams and teams do not work
40
well with them
Content The persistent content of the module
Programming Pathways
A second year guide to programming based around Test Driven Development
Driving Tests and Sprints
A first year VIVA based assessment mechanism contrasted with the sprint model of later years
Structured Time An aspect of assessment where there is a regular schedule of contact between the tutor, individual students and student peers
Sample Code Examples of written code either as full complete programs or smaller samples of code structures
Live code This is the act of demonstrating how code is written during a taught session
41
Notes on Presentation of Findings
In this document are various numbers that are used to express the strength of voice
from the qualitative data. The following sample from later in the document will
illustrate this.
Between “teaching” and “learning”, the strongest voice related to
benefiting individual student learning is the teaching (72) followed by
their learning (38).
The number in brackets e.g. “teaching (72)” is used to indicate the number of
references in the coding. This should not be used as a guide as to how many
students this relates to, it indicates the strength of the student voice coming from
specific data. When the data is expressed as a percentage in a chart like that
above, it is being used to give visual indication of the proportion of different codes to
each other. The scope of these numbers is also limited. In looking at teaching
versus learning above the 72 / 38 values only have meaning within the context of the
question under consideration.
42
The First Focus Group
The first focus group ran in the first term and was an opportunity for a generalised
discussion about the teaching of programming on the course. Four students were
involved in the focus group, two from the second year and two from the final year.
There were two areas of discussion relating to what comments did they have to
make on the teaching, learning and assessment of specific elements of the course
and what metaphors best might describe the experience of learning programming.
The following codes came out of the focus group with their number of references in
brackets.
Pace and level (19) Driving tests (10) Social learning (10) Structured time (8) Sample code (6) The tutor (4)
A strong theme coming through from the focus group is the idea of “pace and level”.
Pace and level relates to the pace of the course between year, and the pace of
teaching within specific modules. The feeling was very much that the second year
was more challenging than the first year and that the second year was much more
representative of the final year. Faster pace on the second year was however seen
as a good thing provoking deeper learning of programming.
43
The primary issue driving “pace and level” between years was the contrast between
the assessment mechanisms in the second and third year, i.e. sprint based
assessment, compared with the assessment on the first year, i.e. the Driving Test.
The sprint’s regular meeting schedule or “structured time” between the student team
and the tutor was seen as beneficial to the learning of all and also helped to
facilitating extracurricular collaboration. This “social learning” was seen as beneficial
by the students in the sample. This is contrasted with the more open-ended
structure of the Driving Test assessment where the contact takes place at the
student’s discretion. Students appear prone to procrastinate when it comes to the
Driving Test due to, feeling intimidated by the tutor, poor time management and
relying too heavily on other assessments.
As well as teaching between year, pace and level relates to the teaching within a
module. Much of the criticism of the first year module related to the slow speed of
travel. There was however recognition that some students on the first year struggle
with even the most basic of concepts. Getting the pace too fast was not necessarily
a bad thing as modules on the second year where there was, rapid progress, high
complexity and little support were considered to facilitate better learning.
There was discussion related to the role of “sample code”. At all levels the sample
code was seen to be of value both of small code sections and completed systems.
The next theme to arise from the first focus group related to the role of “the tutor”.
The tutor was seen both as signpost and as a person to fall back on when facing
problems.
44
When asked to devise metaphors that describe programming the following
suggestions were put forward.
Programming is just like learning Chinese, then being made to speak it in front of a board with Chinese writing on and figure out what it says.
Learning programming feels like having to cross a big road with too many cars driving very fast.
Programming is like learning to drive the more you practice it the better you get.
Programming something from scratch, is like building something from Lego blocks except you never run out of bricks and if there is no brick of a certain shape I can make that brick when I need it.
The Second Focus Group
By the end of administering the Programming Preferences Survey 84 students had
responded, spread over three levels of the programme generating around a 1000
individual responses.
76 Student responses in term 1
Year 1 = 21 Year 2 = 49 Year 3 = 6
45
24 Student responses in term 2
Year 1 = 5 Year 2 = 19 Year 3 = 0
Constant Comparison and the Generation of Candidate Codes
As part of the process of constant comparison NVivo’s automatic word frequency
tool was used to generate candidate codes. Coupled with manual comparison with
the raw data from these initial findings were fed into the second focus group. The
following discussion relates to this initial analysis and how it feeds into the second
focus group.
46
What helps you learn?
What helps you learn? Full Cohort – Entire Year
Looking at the data for the full cohort for the entire year the first candidate code is
“programs”. At this stage we shall assume that this may relate either to the act of
programming, sample code or both. The next code of interest relates to the actual
taught sessions on the module, that is “lectures” and “lab sessions”. The following
candidate codes “work” and “coding” like “programs” possibly suggest that hands-on
activities are important. The candidate code “asking” suggests that communication
is important with the tutor, peers or both. Lastly the idea of “step” perhaps suggests
the idea of pace.
What helps you learn? Full Cohort – Term Two
47
Breaking the year down into terms, the codes for term one are very similar to those
for the whole year, however the term two codes are different. In term two the codes
are, “programming”, “pathways”, “coding”, “book”, “lab”, “work”, “asking”, and “guide”.
This reflects the change in delivery pattern for all years between term 1 and 2. In the
two years of the programme, the lectures are front loaded in the two main
programming modules, this being reflected in the data as lectures are no longer
referenced. The other point of note in this data is the new occurrence of
“programming pathways”.
48
Barriers to Learning
Barriers to Learning. Full Cohort – Entire Year
In looking at what hinders the students in learning programming the initial impression
is that the main barrier to learning programming is programming itself.
Barriers to Learning. Full Cohort – Term 2
When broken down into teaching terms, term one is very similar to the whole year.
Term two appears to add a couple of new potential themes, suggesting that errors
and the ability to fix them are both barriers to learning code. Secondly there is also a
suggestion that module resources may form a barrier to learning notably
Programming Pathways.
49
Barriers to Learning. Final Year – Term 1
Looking at the final year cohort there is a suggestion that peer learning has the
potential to be an issue.
50
Tutor as Facilitator
Tutor as Facilitator. Full Cohort – Entire Year
When considering the question of tutor involvement we shall only look at the year-
long results for the entire cohort as further breakdown reveals no further significant
detail at this stage. The initial impression is that the feeling on this question is mixed,
voicing agreement, disagreement or uncertainty.
51
Use of Real World Problems
Use of Real World Problems. Full Cohort – Entire Year
When looking at the use of real-world basis for the programming problems there was
strong agreement.
52
Use of Complex Problems
Use of Complex Problems: Full Cohort – Entire Year
In looking the use of complex programming problems there is not unanimous
agreement on the matter. Agreement does appear though to be a strong voice.
There are suggestions here that the complexity and nature of the problem plays a
part in how beneficial the problem solving is.
53
Collaboration
Collaboration. Full Cohort – Entire Year
There appears to be general agreement that collaborative work is a positive aspect
of learning, in spite of indications to the contrary from the final year cohort. The initial
impression relates to themes of help, problem solving and diversity.
54
Codes for Discussion at Focus Group
Having introduced the candidate codes above, taking into account the limited time
for discussion and the quantity of discussion already in the questionnaire data it was
decided to take the following two questions to the second focus group.
1. The apparent value placed on lectures and the role of live-code2. The role of Programming Pathways
55
Summary of Second Focus GroupStudent Views on Lectures
Lectures Recorded (7)
Death by PowerPoint (7)
Live-code (6)
Variety (6)
Exposition (5)
Pace (4)
Re-enforcement (4)
Interaction (3)
In discussing lectures, having them recorded and available after the class was an
important feature. “Death by PowerPoint” was very much the strongest criticism of
poorly delivered lectures. This is contrasted by live-code which was seen to
beneficial to the learning process. Variety of delivery and exposition also serve to
enhance the lecture experience. Pace was seen as an issue in lectures. If a
lecture’s pace is too fast it may be ameliorated by interaction during the lecture for
example, tutor sensitivity to body language of the cohort if they appear lost and
lecture recording allowing re-visiting of difficult points. Delayed learning is a feature
of lectures in that the learning is obtained by re-visiting the lecture content. Lectures
should re-enforce the work set in the labs and vice versa.
56
Student Views on Programming Pathways
Programming Pathways Level development (7)
Style (3)
Copy and adapt (2)
Problem resolution (2)
Exhaustive (1)
Step by step (1)
Test driven (1)
On the subject of Programming Pathways there were various points raised. The
book was seen as a useful tool for developing programming skills. The written style
was considered accessible and easy to follow whilst the use of “copy and adapt”
meant that samples could be selected and applied to student code. The book had
good pace and level starting from the smallest unit building to a full system and its
test driven focus means that it is useful for addressing programming problems.
57
Detailed Codes for Programming Preferences Survey
Introduction
Having taken an initial look at the emerging codes as part of the second focus group
we will examine the final codes in detail. NVivo is able to produce candidate codes
automatically however this is no substitute for manually analysing the findings. The
following detailed codes and themes were arrived at by extensive manual coding of
the Programming Preferences Survey and both focus groups. Each section below
will attempt to summarise the student voice and then look in greater detail at the
breakdown of the findings.
What has helped you to learn programming?
Students are helped to learn programming primarily by how and what they are
taught, coupled with their own learning. The body of content is of prime importance
followed by the mechanisms of delivery and then assessment. Content needs to be
available on-line, appropriately paced, detailed, structured and with sample code.
Lectures should reflect what happens in the real-world, supporting materials should
be available and placed on-line. Live code is a useful way of understanding what the
code is doing and valuable in both labs and lectures. In their learning students value
both individual and social learning. The tutor plays a primary role in social learning
supported by peers as part of a team. The tutor is very important to the student and
amongst other things; they want the tutor to be available, helpful and approachable,
facilitating and signposting their learning. Peer learning works when the team offers
an appropriate range of views; it feels safer to express ignorance with peers than
with the tutor. Being in a team is motivating.
58
Teaching and Learning
Between teaching and learning, the strongest voice related to benefit to learning is
the teaching (72) followed by the learning (38).
59
The Teaching
There are three areas in the teaching in order of voice strength, The Content (39),
The Delivery (21) and Assessment (5).
60
The Content
There are a number of attributes associated with The Content.
The Content On-line (11)
Appropriate pacing (9)
Enabling and empowering (6)
Detailed (5)
Structured (4)
Instructive (4)
Clear and comprehensible (3)
Use of external sources (2)
Recorded (1)
Supporting sample code (1)
Challenging (1)
61
Delivery
Delivery is the next strongest voice of the three, in this data delivery comprises of
lectures, live code then labs.
Lectures have the following attributes:
Lectures (11) On-line (1)
Reality based (1)
Additional supporting material (1)
Live Code (3) Provides Insight (3)
Useful in both lectures and labs (1)
Labs (7) Additional supporting material (1)
62
Learning
Learning is split in to four themes, again in order of voice strength, “social learning”
(40), “individual learning” (38), “collective learning” (25) and “prior learning” (6).
63
Social Learning
Social learning covers the learning that occurs through direct interaction with another
person as opposed to collective learning which typically takes place say in a lecture.
Social learning has two focuses, firstly “the tutor” (34) and secondly the team (14).
64
The Tutor
The tutor has the following desirable attributes beneficial to learning:
The Tutor Available (9)
Helpful (3)
Clear (2)
Approachable (1)
Prompt (1)
Reliable (1)
Knowledgeable (1)
Patient (1)
Detailed (1)
Signposting (1)
Facilitating (1)
Challenging (1)
65
The Team
The team has the following attributes.
The Team Diversity (2)
Security (1)
Motivating (1)
66
What has hindered your learning of programming?
The students find their own individual learning is the biggest barrier to learning
programming followed by the teaching. Failing to understand the content, isolation,
low attendance, poor motivation, and lack of access to resources all hinder the
learning process along with lack of confidence and impatience. Failing to connect
with the tutor can be a problem. If the tutor is unavailable, unhelpful,
unapproachable or unclear in their guidance this can create a barrier to learning.
When turning to peers there may be too great a diversity of abilities leading to
impatience amongst team members. Lack of participation and lack of organisation
can create a team which ultimately becomes a barrier to learning. Sometimes the
pace of the content can be too fast for the student level. Code is hard to understand
and out of date, unavailable or limited access to materials does not help. Lectures
can be theoretical, and uninteresting whilst cancellation of classes does not help.
67
Hindrances
When it comes to the question of what hinders learning there are the following voices
to be heard, that is learning (65), teaching (13) and “nothing” (5).
68
Obstacles to Student Learning
Issues that are considered to be obstacles within Learning are individual learning
(38), collective learning (7), and social learning (9).
69
Barriers to Individual Learning
The level of the work is a concern here, coupled with isolation.
Individual Learning Level (19)
Isolation (8)
Motivation (3)
Attendance and Engagement (2)
Access to resources (2)
Lack of on-line access (1)
Confidence (1)
Patience (1)
70
Barriers to Collective Learning
Within collective learning, the only attribute here is attendance and engagement (2)
indicating that lack of attendance at classes disrupts learning.
Issues with Social Learning
For social learning there are considerations related to the tutor (8) and the team (5).
71
The Tutor as Barrier
The tutor as a hindrance to learning has the following attributes.
The Tutor Unavailable (4)
Inexpert (2)
Unhelpful (1)
Unapproachable (1)
Vague (1)
72
The Team as Barrier
The team has the following attributes when it forms a barrier to learning.
The Team Excessive Diversity (2)
Impatience (1)
Lack of Participation (1)
Lack of Organisation (1)
73
Problematic Teaching
There are the following elements of the teaching when it becomes unhelpful to
learning; they are the content (26) and the delivery (7) i.e. lectures.
74
Inappropriate Content
Issues within the content relate to the following.
The Content Pace (7)
Code (6)
Out of date materials (4)
Lack of external sources (2)
Access limitations (1)
75
Poor Delivery
Voices raising issues with the delivery relate solely to lectures.
Lectures Theoretical (1)
Uninteresting (1)
Erratic (1) i.e. frequent cancellations
76
Tutor as Facilitator
When considering the tutor as facilitator there are divided views on the role of the
tutor. The issues come when students are hitting problems and cannot progress,
who do they turn to? Surely the tutor is the fall back position who has the answers
and is there to guide the students? There are however some benefits to getting on
with the work without the tutor in that skill level improves, autonomy and confidence
are built, enhancing employability and appreciation of the need for collaboration.
Some students need more involvement from the tutor though. If the tutor is removed
from the picture it leads to poor learning, stress, struggle and ultimately de-
motivation.
The Tutor as Facilitator
The strongest voice here is that of mixed feelings whilst the remainder are split. The
findings are in the order of strength of voice, Mixed (38), Agree (28) and Disagree
(27).
77
Mixed Views on Tutor as Facilitator
Those who have mixed views about the question cite “the tutor” (30), “pace” (6) and
“level” (4) as considerations to take into account.
The tutor is seen as a resource to turn to in case of difficulty for signposting (13),
clarification (7), expertise (6) and support (2).
78
Agreement on Tutor as Facilitator
Those who agree with the statement cite a number of benefits to individual learning.
Individual Learning Level Improvement (32)
Enhanced employability (3)
Increased motivation (2)
Appreciation of collaboration (1)
Increased confidence (1)
Rising to a challenge (1)
Sense of accomplishment (1)
Increased Autonomy (1)
79
Disagreement with Tutor as Facilitator
The last voice disagrees with the statement citing the tutor (11), level (3), pace (2),
stress (2), struggle (1) and de-motivation (1) as issues to consider.
In a similar manner to those with mixed feelings on the statement, the tutor plays the
following roles.
The Tutor Resource (3)
Clarification (3)
Expertise (3)
Signposting (2)
Support (2)
80
Use of Real-World Problems
What is the point of learning anything if it does not relate to what is going to happen
in the work-place? There are many benefits which include improved ability,
enhanced employability along with motivation and confidence building. There are
concerns though; what if the real world problems are out of the level of the student,
what if there is not sufficient support for the challenge at hand
81
Use of Real-World Problems
The vast majority of voices appear to agree with this statement with the following
distribution of agree (77), mixed (3) and disagree (1).
82
Agreement with use of Real-World Problems
Those who agree cite the following benefits or real-world problems to individual
learning.
Agree Level Improvement (20)
Enhanced Employability (19)
Reality based (15)
Modern content (4)
Relevant content (2)
Builds Confidence (2)
Helps to build future expectations (2)
Increased motivation (2)
Gives meaning (1)
Research contribution potential (1)
83
Mixed views on the use of Real-World Problems
Those with mixed views cite level (2) and support (1) as issues to consider.
Those that disagree stated that there were “unfamiliar with the application of the
question”.
84
Use of Complex Problems
Many agree with the use of complex problems, however combined there are more
students who are either not sure or disagree. Those that agree see benefits to
dealing with complex problems in that it improves skill level, builds motivation and
confidence and improves depth of learning. There are those who are less sure or
even disagree. What if the problem is too complex? What if the tutor and or content
are not available for the task? This may create unacceptable levels of stress. The
support of the tutor and peers are seen as important factors to take into account
here.
Views on Problem Complexity
When asked this question there were three voices that is; agree (37), mixed (23) and
disagree (21).
85
Agreement on Problem Complexity
Those that agree cite the following benefits to Individual Learning.
Agree Level improvement (32)
Increased motivation (3)
Improved confidence (2)
Rising to challenge (1)
Appreciation of collaboration (1)
Experimentation (1)
Improved comprehension (1)
Improved satisfaction (1)
86
Mixed Views on Problem Complexity
Those with a mixed view cite the following issues to consider.
Mixed Pace (20)
Level (8)
Stress (2)
The Tutor (2)
The Content (1)
87
Disagreement with Problem Complexity
Those that disagree have similar concerns, citing in addition the role of peer support.
These responses note pace (10), level (8), motivation (2) and social learning (6) as
issues to consider.
Within social learning, both peer support and the tutor are noted in equal measure
commenting on the need for an approachable tutor and an appropriately diverse
team of peers.
88
Team Based Problem Solving
The majority agree with this statement citing the following benefits; appropriate
diversity is useful and a good mechanism for learning from others, problem solving is
enhanced by combining efforts. With the support of others the process of dealing
with issues is more efficient allowing each person to contribute in their area of
specialism. Working in a team can be a safe space without risking looking foolish in
front of the tutor, where healthy debate can contribute to the learning process in a
similar way that happens in industry. There can however be issues. Sometimes the
diversity can be a problem if some members are too far behind or too advanced.
This can lead to issues with team cohesion. Fairness in assessment and task
allocation are concerns too. It is not right that all members should get the same
grade when some have done no work. There are also Lone Rangers who do not
work well in teams and the team does not work well with them. Some feel that they
can do better on their own without the team, feeling held back. Some may feel lost in
the crowd and not confident to speak out.
89
On Team Based Problem Solving
The voices commenting on this statement are as follows; agree (74), mixed (16) and
disagree (3).
90
Agreement on Collaboration
Those that agree cite the following points.
Agree Diversity (36)
Peer Learning (21)
Problem Solving (21)
Support (12)
Efficiency (9)
Basis in Reality (4)
Specialisation (2)
Confidence (1)
Debate (1)
Safety (1)
91
Mixed Views on Collaboration
Those with a mixed response cite the following points:
Mixed Diversity (9)
Fairness (4)
Lone Rangers (4)
Problem Solving (2)
Cohesion (2)
Lost in Crowd (1)
Task Allocation (1)
Confidence (1)
92
Disagreement on Collaboration
Those that disagree make the following points.
Disagree Individual Level (2)
Diversity (1)
Efficiency (1)
Unfairness (1)
Lost in Crowd (1)
93
Learning Preferences Survey
The final sets of data to consider are the results from the Learning Preferences
Survey. In this study the survey had been modified to try and gauge the value placed
on Programming Pathways.
Students were asked to rate the following learning and teaching approaches by
rating them out of five as to their value for learning and stating their essentiality.
94
When ranked by their value for learning the list is sorted as follows. (The average is
77% with those above it highlighted in green.)
95
When sorted for essentiality the list is sorted as follows. (The average is 64%)
96
Chapter Five: Data Analysis and Discussion
Introduction
In astronomy, apparent retrograde motion relates to the motion of a celestial body
when it appears to travel backwards. When the best theory of the solar system
stated that the Earth was the centre of the universe this apparent motion was very
difficult to explain. When the Copernicans pointed out that it was the Sun at the
centre of the solar system and that the objects in question were in fact, like the
Earth, planets orbiting the Sun, the movement may then be explained as an illusion
created by viewing one orbiting planet from another (Crockett, 2017). The point is
that if a theory is not quite right then there will be anomalies when compared to
empirical data. Once the theory is refined or replaced, one is better placed to make
sense of these anomalies.
The Problem with Problem Based Learning
The title of this research project is “Constructivist Approaches to Teaching
Programming, (A Critical Review)”. In using grounded theory and mixed methods an
interpretivist approach has been brought to bear on the question. The title is
misleading though, in that it hides a third element of the research, that is the benefit
of PBL to teaching programming.
There are four areas under examination to obtain a sense of the value of PBL, that
is; the tutor acting as facilitator, use of real-world examples, use of complex
problems and collaborative learning. There is evidence of strong agreement with
these ideas for facilitating learning. In the area of real-world examples there is
almost unanimous agreement. In the area of collaborative learning there is strong
support for its benefit to learning. It also appears that students expressing a
preference for PBL style approaches cite them as personally beneficial to their
development. Certainly some students agree with this approach to teaching and
learning; however beyond a certain point the waters become muddied. A first class
honours student whilst remarking on tutor as facilitator responded, “I agree as this
pushes you to find new methods and types of code to overcome an issue.” The
student also simultaneously responding to the question of collaborative learning, “I
97
disagree with this as I prefer to work on my own where possible.” 100% PBL friendly
students do exist, however this comes with no guarantee.
Vygotsky (1978) saw mental development as a set of functions, defined as
functioning psychological systems. By this definition “capacity for intellectual
collaboration” is identified as one such system (Bozhovich, 2009). So how might we
understand a first class honours student who would rather work on their own? Are
they dysfunctional in some way? Are they somehow deficient in their learning ability?
It seems that ignoring the empirical findings at this point would be a disservice to the
student voice. For example in the areas of tutor as facilitator and problem complexity
there are strong notes of caution and disagreement. In both cases when the
challenge becomes too great for the student’s level, the fall-back position is to some
form of social learning. The first port of call is typically the tutor, followed by peers.
In comparing the student voice with PBL orthodoxy there appears to be anomalies. It
is possible these anomalies suggest that the theory is not mapping to reality and
needs adjusting or replacing. Are there are other theories which may explain more
accurately what the findings suggest?
Pace and Level
Two themes that arise from these findings that seem pivotal to the questions of
problem complexity and tutor support are pace and level. We will look first at this
finding and consider a theoretical basis for it. Pace relates to the speed at which a
problem is comprehended, level relates to the skill / knowledge level of the student.
There appears to be a “sweet spot” where, when both fall into line the student is
happy, motivated and engaged. If the pace is too fast, or the student’s level too low
then the results are problematic. It is also of note the language used to describe this
point of miss-match, “stress”, “struggle” and “de-motivation”. This is also paralleled
by the anxiety laden metaphors.
“Programming is just like learning Chinese, then being made to speak it in front of a
board with Chinese writing on and figure out what it says.”
“Learning programming feels like having to cross a big road with too many cars
driving very fast.”
98
Goleman, (1996) in discussing emotional intelligence notes the role of the amygdala
in the human brain in triggering the fight or flight response. This fight or flight
response may spur some into action, whilst others may simply withdraw from the
arena (Goleman, 1996). The indications are that learning programming may invoke
a stress response which may explain why students may be split into the two camps
of novice programmers, “stoppers” and “movers” (Perkins et al., 1989). The issue of
complexity is not to be underestimated in writing code. As an example, the author of
this dissertation with over thirty years of experience observed an error in one of two
almost identical programs. Resolving the error took two days of solid work,
comparing the code for the two systems only to find that a single back-slash
character had been omitted from one line of code in the failing application.
In the case of an experienced programmer there is sufficient confidence, motivation,
skill and discipline to persist with such an error. When considering the level of a
novice it is noted in the findings that “some of the students would be completely lost
with what to do with the problems they are facing”. The level of ability, isolation,
motivation, confidence and patience are all identified as barriers to learning
programming. Issues with pace and level may be stated in terms of processing too
much complexity too rapidly or it might be expressed as excessive cognitive load.
The Issue of Cognitive Load
Miller, (1956) noted that working memory comes with certain limitations suggesting
that it has a limited capacity of seven items plus or minus two. The theory assumes
that human cognition comes in two forms, cognition associated with long term
memory and that associated with short-term memory. In this view much knowledge
residing in a person’s long-term memory has been “borrowed” from another person’s
long term memory. Sweller, (2006) notes that by using long-term memory new
knowledge may by generated by combining existing information. Cognitive
processing associated with the short term memory relates to the “randomness as
genesis principle”, i.e. that through random exploration new knowledge may be
generated. Long term memory ultimately obtains its knowledge via both processes.
Knowledge is borrowed, via imitation, listening or reading and new knowledge is
discovered via randomness as genesis. Cognitive load theory recognises that
problem solving may take a role in the learning process; however, it also asserts that
99
relying solely on problem solving may not be the most efficient way of learning.
Noting that there are limits on people’s ability to process data, the theory proposes
that data enters working memory in “chunks”. These chunks are then internalised as
“schema” (Chase, Simon, 1973).
Cognitive load theory identifies three forms of cognitive load which need to be taken
into account for a learner; intrinsic, extraneous and germane. Intrinsic cognitive load
is that required for learning a task. For example if a student needs to understand
what a function is they must exert a fixed amount of effort in achieving this
understanding. Extraneous cognitive load is generated by the nature of the
instructional design, for example a concept “this is a function” could be describe to a
learner verbally or it might be more easily be demonstrated through the use of a live
demo. Germaine cognitive load relates the internalisation of learned content, i.e.
building the structures in long-term memory. The idea in cognitive load theory is that
instructional design should aim to reduce extraneous cognitive load allowing the
student to focus on internalising the knowledge (Sweller, Van Merriënboer, & Paas
1998). Malamed, (2017) expresses the idea of improving the clarity of the content as
reducing the signal to noise ratio. The students appear to want clarity in
communication of concepts. Students want clarity of content and also clarity from
the tutor. Students identify barriers to learning such issues with out of date content
and access limitations. Clarity of information processing may go some way to
explaining the student preference to live-code. Rather than explaining how code
works, the students state a preference for direct observation of the code being
constructed and used.
Learning Modes
One observation in the qualitative findings is that student learning appears to take
place in three learning modes, that is; individual learning, social learning and
collective learning. It appears to be the case that students shift between these
different modes, some having an apparent preference for one mode over another.
100
Individual Learning
Programming is a practical subject which takes the form of students trying the code
examples themselves. It is at this point that issues arise. Sweller, (1988) notes that
problem solving may follow a strategy called means-ends analysis. In this case a
solution to a problem is attempted and the proximity to the solution is noted. If the
proximity to a solution appears lessened then the strategy is repeated. It seems to
be the case that students see themselves as the problem when it comes to lack of
progress with programming. To resolve this they will seek to address the problem by
further contact with the content and seeking help from the tutor or peers. Problems
arise when they are frustrated at these points.
Social Learning and the Value of the Tutor
The second mode of learning noted within the findings is that of social learning.
Social learning takes the primary focus of asking the tutor followed by discussing
issue with peers. Looking at the findings from the Learning Preferences Survey there
is high value placed on the role of the tutor. When considering the importance of the
tutor to learning, in this study the tutor achieved a value of 100%.
Similar results are noted with previous runs of the survey with a much larger sample
size (Dean, 2013).
101
When looking at how essential to learning the tutor is they are given a high value.
This is also reflected in the results from the previous use of the survey.
In all sets of data the role of the tutor ranks in the top five.
These findings appear to call into question the PBL concept as tutor acting solely as
facilitator when it comes to programming. Some students appear to be happy with
this, yet others see it as a potential threat to their learning. There are several
remarks from students along the following lines.
“I disagree with this as it is very important for a new student to get help from the
tutor, because at times the programming problems are very complex.”
The findings suggest that students require a great deal of support from the tutor in
learning programming. It seems that the students may quickly find themselves lost.
In order to alleviate this problem, the tutor needs to be available and approachable.
The tutor is indeed seen as an expert however there are more attributes required
than that. The students describe the ideal characteristics of the tutor as available to
help, wanting to help and able to help whilst respecting the student in spite of their
potential sense of ignorance of the subject. The students do not just want knowledge
they also want dignity and respect. Nor do they want the tutor to simply tell them the
answer, they want the tutor to enable them via appropriate challenge, signposting
the solutions rather than necessarily giving it to them.
102
Social Learning and the Role of Peers
The other strand to social learning is the role of peers. From the qualitative findings
there are clear voices stating the value of the peer team. When looked at from the
point of view of the Learning Preferences Survey we get a sense of the value placed
on the team compared with that of the tutor.
In terms of the team’s value to learning in this research we see it below the average
at 70%, 30% lower than the tutor.
103
When looked at for the essentiality value in this survey it comes in at 50%.
104
These results are lower than that found in previous findings however the difference
between tutor and team is still observed. For example this data illustrates the value
of the team to learning.
105
The data below illustrates the essentiality of the team to learning.
Cognitive load theory may shed some light on why collaboration is important to
learning. Like PBL, cognitive load theory recognises the value of problem solving to
learning in spite of the inherent limitations on human information processing. There
needs to be problems to solve, to facilitate cognitive processing in the short-term
memory (Sweller, 2006). It is within this context that cognitive load theory
recognises the importance of collaboration. As complexity increases, the individual
learning becomes less efficient bringing in a requirement for social learning.
Through discussion with others the load is spread across the team members
(Kirschner, Paas, and Kirschner, 2009). The findings suggest that the team is the
secondary fall-back position to individual learning after the tutor.
106
The value of the team to the students is illustrated by the following student quote.
“If you work in a team, you get a chance to see lots of different techniques that can
help you solve real life problems, as well as the programming problems.”
When the knowledge has been “distributed” amongst the team and discussed it must
be re-integrated into the individual team members (Malamed, 2017). The findings
suggest that the majority of students have a preference for collaboration, however it
is of note that there are also “lone rangers” who would rather work independently
and, may it also be noted, may also not be very welcome as part of a team.
Collective Learning
The term “collective learning” has been chosen in order to highlight the importance of
the teaching, notably lectures, to the students.
Within the modules under consideration there are two forms of collective learning,
those being lectures and labs. Examining the data from the Learning Preferences
Survey we can see that labs score highly in both their value to learning and their
essentiality.
Historically in this survey, labs have always achieved the number one position, also
proving to be the case in this research.
107
A similar picture emerges when looking the essentiality of labs to student learning.
There is clearly some overlap in the case of labs with collective learning and social
learning. Labs offer potential benefit in a number of areas. Labs provide an
opportunity of the tutor to demonstrate code and present concepts. In addition they
allow student contact with the content and more importantly, when facing difficulty
may turn to social learning, i.e. the tutor supplemented by peers.
108
Lectures typically come in lower than labs in their perceived value to student learning
as illustrated below.
109
Lectures tend to perform better however when looking at their essentiality to
learning.
110
Some insight may be shed on this possible anomaly. In previous research, students
have previously noted the social nature of lectures. In comparing the experience of
learning via on-line video compared with attending a lecture, students have made the
distinction of going to the cinema (a lecture) versus watching the same film at home
(on-line video) (Dean, 2013). Collective learning should in no way imply passive
learning. Lectures may be enhanced by building in a social component for example
discussion and question and answer sessions. When it comes to the issue of student
engagement at lectures they are very clear on certain issues; that is their preference
for recording the session, the use of live-code and their dislike of “death by
PowerPoint”. It is also worth returning to the point above on signal to noise ratio. It
does not appear to be simply the case that a lecture should be just a clear
presentation of facts. Students want to be stimulated in a lecture by a range of
media, intriguing questions, even humour. The first point of contact with the content
is typically some form of collective learning, e.g. a student attends a lecture and
takes some notes. Following the lecture there may be at this point a delay in the
processing of the knowledge; however there is an expectation that there will be a
persistent record of the session in Word, PowerPoint and preferably as a video. It is
also expected that there will be obvious links between the lecture and any hands-on
sessions.
Worked Examples and Module Content
Critics of PBL have noted the issue of unfettered discovery (Ben-Ari, 1998). In
describing the implementation of PBL at the University of British Columbia, Provan,
(2011) argues that inappropriate speculation about a topic runs the risk of
constructing inappropriate knowledge. In the experiencing this curriculum at the
University of British Columbia, students may find themselves in a state of confusion
until they have gathered sufficient information to form correct conclusions.
Making problem solving the sole mechanism for learning runs counter to the way that
human cognition appears to work. In addition to problem solving stimulating the
cognition of the short term memory there needs to be appropriate peer support along
with opportunities for borrowing knowledge via worked examples (Sweller, 2006).
111
One important feature of the lectures for this cohort was the use of live-code,
especially if that demo is recorded and placed on-line. In discussing one final year
module a student made the following remark.
“We did the labs and there were no live demos until at the very end. That was the
most useful thing all year.”
Sweller, (1988 ) argues that some forms of problem solving actually interfere with
learning. Comparing experts with novices, the latter have had opportunity to form
internal knowledge schemas. This makes their problem solving much more efficient.
In the case of a novice, lacking these internal schemas their problem solving is not
just less efficient it may actually be counterproductive. Sweller goes on to argue that
problem solving may result in specific “problem solution” rather than schema
construction. Noting that problem solving as a learning device might present issues
there are implications for instructional design. If students learn solely via problem
solving, then supporting problem solving should become the primary focus of the
content construction. Cognitive load theory takes a different approach. In order for
learning to take place students need to be exposed to worked examples (Gerjets,
Scheiter and Catrambone 2004) in order to “borrow” existing knowledge (Sweller,
2006). Gerjets et al, (2004) discuss two categories of worked example. The first
types are molar examples relating to a recipe approach to problem resolution. The
student has to first identify what sort of problem they are facing and then follow the
recipe to resolve the problem. The second forms of worked example are modular
examples where complex problems are broken down into smaller units of worked
example. Their findings suggest that the latter more effectively facilitate Germaine
cognitive load and thus schema building. The two modes of worked example are not
however mutually exclusive.
112
Programming Pathways
Students noted that Programming Pathways was a very useful tool in helping them
learn how to program. From this year’s data Programming Pathways scores above
average for both its value to learning and its essentiality to learning.
As noted previously Programming Pathways makes use of elements of Test Driven
Development in order to break an entire system down into at times tiny code
examples. The idea is that students start with very small examples well within their
reach. When combined these elements start to form major system components
ultimately ending in a complete system. One student made the following comment.
“It is a step by step guide on how to do it and it also identifies the problems and how
to resolve them it is just like even though it is not recorded it has everything you
need to do. For my system this year I had to do the testing for it and it gave me a
good sense of what I should be testing for my system and it made it easier.”
The idea of “step by step” instructions was a recurring theme in the findings. By
breaking the development process down into modular examples, Programming
Pathways mirrors the modular design structure noted above.
Driving Tests and Sprints
At the heart of much of the discussion related to the way that programming is taught
on the course is the contrast between the Driving Test mode of assessment and the
sprint based assessment. Visual Web Development is the oldest module under
consideration and has become the most problematic over the last two years as
regards pass rates and engagement. The module has historically achieved good
progression rates of around 80% but since 2015 the pass rate before re-sit for the
module is around 60% falling into line with trends noted in the literature review
(Dehnadu and Bornat, 2006).
113
Some students see the Driving Test as a positive aspect of the learning. The
following is a comment from one student.
“I believe that the inclusion of driving tests, in addition to lectures, have helped me
acquire skills in programming. This is because they allow me to incorporate what I
have learned in the lectures in my lab sessions.”
The Driving Test has proved to be a useful tool for uncovering and discussing some
inappropriate mental models related to how code works. There are however a
number of issues with the assessment requiring a re-evaluation of its effectiveness.
When students do engage with the assessment the average percentage grade is
typically high, between 90 and 100%. The problems arise with the numbers of
students actually engagement with the assessment.
The Driving Test is split into four assessments with decreasing student pass rates for
each one.
For example looking at the 2016 cohort there were 143 students.
Driving Test 1 76% engagement average grade 90%
Driving Test 2 62% engagement average grade 88%
Driving Test 3 28% engagement average grade 90%
Driving Test 4 13% engagement average grade 100%
As noted in the focus group students are not continuing to the end of the process but
opting out of the latter tests. If we look at the Driving Test in the light of the above
discussion the levels of extraneous cognitive load could be reduced. One issue
raised in the findings is the requirement for students to manage their own time, i.e.
they decide when to engage with the assessment. This need for structured time is
coupled with the relational issue of building up the courage to approach the tutor.
114
One perfectly capable student made the following comment.
“You get too nervous, you know the stuff but when I do it in front of you I could not
answer. I got nervous that was the hard part.”
The Driving Tests were contrasted with the sprint based assessment used on the
second and final years of the course. At the heart of this approach are fortnightly
formative meetings between the tutor and the team. The feeling from the focus
group was that this was a more positive and supportive assessment mechanism
which should be implemented on the first year. Via the sprints relational ties may be
formed between tutor and student along with engaging with the student more at their
own level. If a student is struggling then appropriate support may be provided, if
however they are performing well appropriate challenge may be included in the
guidance. This tailoring of dialogue goes some way to addressing issues associated
with pace and level.
It is within this context that Programming Pathways sits. Programming Pathways
becomes the driving force in the code writing process. The students have their own
program that they need to write, that is the problem to solve. They work individually
following the worked examples but via the regular meetings with the tutor and the
team they are required to shift into social learning. The content is generated and
discussed in lectures and labs with a persistent resource of multimedia artefacts
available on the module web sites.
115
Happy Learning
The final theme to consider is one that runs through many of the findings, the idea of
“happy learning”. One commentator noted “For scientific purposes, treat people as if
they were human beings” (Harre, and Secord, 1972). One observation whilst
exploring the existing research, following perhaps a more positivistic paradigm, is the
absence of student thoughts and feelings. The students typically take the role of
subjects to be observed and counted, yet rarely do we get a sense of the underlying
humanity. Even in cognitive load theory couching clarity of communication as “signal
to noise” places it in an electro-mechanical domain rather than a relational one.
Within this project there has been a strong focus on the student voice. One
consequence of this is that many aspect of the humanity of the cohort have been
revealed. When it comes to individual learning the students appear to want to feel
safe and guided when studying programming. The sense of failing to make progress
is termed in anxiety laden terms associated with stress and loss. The desirable
attributes of a tutor relate not just to their knowledge but also to many interpersonal
elements such as approachable, patient and reliable. The students do not just want
lectures that are technically accurate; they want to be stimulated, challenged and
perhaps to a certain extent entertained. There is an emotive component running
through the findings.
116
The Role of the Tutor and Instructional Scaffolding
There are problems with this concept of happy learning since happiness is very
much in the eye of the beholder. In order to thrive people need certain conditions to
be in place. These are, basic safety, connection to others, autonomy, self-esteem,
self-expression and realistic limits (Winnicott, 1986). Within the idea of happy
learning are found all of these elements. Perhaps one way to address the issue of
diversity in these areas is the development of appropriate scaffolding (Bruner, 1975).
Scaffolding brings the discussion back to the Zone of Proximal Development and the
role of the More Knowledgeable Other (Vygotsky, 1978). The first assumption is that
novice students find programming very challenging. In the case of scaffolding,
support is put in place to enable the students. As with a building, scaffolding is
gradually removed once the building is secure (Beed, Hawkins and Roller, 1991).
For any level the scaffolding needs to be strong and secure but there must also be
opportunity for students to operate outside of the scaffolding as and when they feel
able.
117
Chapter Six: Conclusions and Recommendations
Introduction
In this chapter we shall consider some of the conclusions arising from the findings
and look at some recommendations to changing the design of the taught content. To
re-write an entire programme based on the above findings is clearly an onerous task,
additionally there is further reflection required to translate the findings into changes
in delivery at all levels. It would be wise though to take the above results and start to
feed them into the teaching, learning and assessment for the programme. The first of
these changes relate to redesigning IMAT1604 Visual Web Development.
Problem Based Learning versus Cognitive Load Theory
Over the years of developing material for the course, PBL has contributed positive
elements to their design. PBL’s emphasis on real-world problems and collaborative
work are both received well by the students. Yet from anecdotal evidence there was
a sense of a risk of causing students distress by withdrawing tutor support and
getting the problem complexity wrong for the level. This did not seem to quite fit the
orthodoxy of PBL but until now there was no other way of perhaps understanding the
problem. The findings suggest that problem solving in isolation is not the best way to
learn, this limitation being a feature of human cognitive processing. Taking the
position of cognitive load theory, more sense may be made of the findings from the
student voice. Sweller, (2006) identifies two principles at work in human cognition
that is the borrowing principle and randomness as genesis. If the sole learning
strategy available to students is problem solving then it runs the risk of generating
excessive cognitive load. This is especially true when it comes to learning
programming. Communicating with an inscrutable computer can potentially be a
frustrating task. If the nature of problem solving is such that we gradually move
closer to a solution via testing successful strategies, how can a student measure
progress when even the error messages appear indecipherable? The temptation to
give up and disengage is high amongst novices.
118
Scaffolding and the More Knowledgeable Other
In order to address these issues there needs to scaffolding in place. Using the
student voice as guide, this scaffolding needs applying in certain key areas, they are;
individual learning, social learning, collective learning and happy learning. More than
that there needs to be built into the module design a high level of quality contact
between tutor and learner.
Individual learning
Lacking appropriate mental models of what the computer is doing or how the code
behaves makes the task of coding an unpredictable even threatening experience. In
order to support individual learning there needs to be not only a wealth of support,
but also scope to allow for autonomy and sufficient challenge for those students who
pick up the skill quickly. This is potentially problematic however there may be certain
areas of focus that might help to address the issues. Individual learning takes place
as students interact with the content often generated by some form of collective
learning. When working at the rock face of writing code it comes down to the
programmer and the computer interacting via the selected language and
environment. It is at this point in individual learning that things go wrong and the
student is at risk of disengaging from the endeavour. It is at this point they will
typically turn to some form of social learning, prioritising the tutor followed by peer
support. In selecting delivery patterns to facilitate this, the lab session seems an
ideal opportunity as it creates a safe space for the student to try coding and then
engage in other support as required. The lab based approach of Visual Web
Development and Project Management and Development appear to be of high value
to the students in the sample. Labs sessions always come at the top of the rankings
generated by the Learning Preferences Survey. It is the intention to retain this
aspect of the module design. Lab time becomes an important nexus of all beneficial
elements, hopefully helping students to build their mental models. Individual learning
is not limited solely to the taught session taking place out of University hours. The
students need access to the taught content via the internet and it needs to make use
of a range of media including text and video. Issues related to access and
availability of tools such as hardware and software must also be addressed where
possible.
119
Social learning
Social learning is very important to the students and isolation is noted as one of the
issues that undermine the learning process. When students arrive on the first year
they are faced with one clear barrier to social learning, i.e. in the most part they do
not know each other and they may find the tutor to be quite an intimidating figure.
These barriers need to be addressed. The original intention with the design of the
Driving Test was that the tutor would to step back from the learning process, thus
pushing the students to peer learning. In the light of these findings this now seems
unwise on the first year. If the relational bonds are still to form, then this policy
potentially becomes a further barrier to facilitating social learning compounding the
level of difficulty the first year students find with learning to program.
The Demise of the Driving Tests
The following recommendations will be applied to the design of IMAT1604 Visual
Web Development. After over ten years of usage the Driving Test will be replaced
with the sprint model of assessment. The structured time created by having
fortnightly meetings should help to build connections and foster social learning
between the tutor, the student and the team.
We should not underestimate the importance students place on the role of the tutor
as More Knowledgeable Other when learning to program. There needs to be access
to the tutor in terms of physical availability and also “access” in terms of
communication and interpersonal attributes. It is hoped that the implementation of
sprint meetings should help to address these issues. Via the sprint model the
students meet individually with the tutor every fortnight, this provides opportunity to
build relational ties, ask questions and start to discuss common errors and
misconceptions. In contrast to the Driving Tests, The sprints have a strong emphasis
on formative assessment, helping to foster a safer learning space. It is hoped that
the rather gentler, formative approach to assessment will help to build bridges,
confidence and ultimately understanding.
120
The second area of social learning facilitated by the sprint model is peer learning.
Being organised into teams and working together on shared tasks should again help
to build relational ties and mutual support. This needs to be organised formally and
as noted previously one potential barrier to learning is a dysfunctional team. Teams
will need to be monitored and managed to address any issues relating to conflict and
disengagement. As with the sprint model on the second and final year the
assessment will be individual. Students stated a desire for fairness in the
assessment and did not appreciate weaker students “hiding” in the team. There
must however be room in the system for “Lone Rangers”. These students exist and
appear to perform well without such a highly structured support network. In this case
such students will have the option to form a “team of one”.
Assessment and the Content
In the light of limits on human cognitive processing there is an argument for “less is
more” so starting small is likely to be beneficial. Visual Web Development will be
adjusted to take a “concepts first” approach which might help to soften the blow of
learning programming along with allowing the students to start building mental
models related to how programming works. The number of assessments will be
reduced for the module. Rather than comprising of four Driving Tests and two phase
tests the assessment load will be reduced to two in an effort to reduce extraneous
cognitive load. The first assessment will consist of a hand written phase test at the
end of the first term. Students will be given a book of questions related to
programming concepts. Combined with the sprint meetings the student will engage
in dialogue with the tutor, providing opportunity to ask questions, show samples of
work so far and resolve problems.
Clearly at some point the students need to try and program for themselves. In
addition to coming to terms with the “softer” conceptual side of development there
must be opportunities for hands-on practise to allow them to come to terms with the
syntax and errors common to all programming. Taking a concepts first approach
does run the risk of producing students who understand code concepts but cannot
actually code. The second assessment will require students to complete an
extension to the lab exercises of their own design. Again they will be supported via
regular sprint meetings hopefully facilitating engagement and social learning.
121
One element of cognitive load theory is the borrowing of knowledge, achieved by
exposure to worked examples. The content for the modules needs to continue the
tradition of clear, step by step instructions and a suitable range of worked examples,
allowing the students to build schema related to programming. Students have also
noted that out of date or conflicting content has capacity to form a barrier to learning.
This is especially true for novice programmers who are coming to terms with so
many new and difficult programming concepts. It is the plan to review and update
the existing tutorial videos as the year commences.
Programming Pathways
One tool that appeared to be of value to the students on the second and final year
was Programming Pathways. The document also received some criticism as it was
not entirely up to date with the latest version of Visual Studio. This will be corrected
for this year. Implementing Programming Pathways on the first year may be
something to consider for the future, however at this stage the resource implications
would be significant.
Collective Learning
In discussing Social Learning and the role of lab sessions there is clearly some
overlap with collective learning. The same is potentially true with lectures by
including some sort of interactive component. Within the modules in question they
have a long standing tradition of using video recording; however it was the use of
live-code combined with video that received the most positive remarks. Live code
would seem to key in to the concept of worked-example. By seeing a task done, the
students are able to borrow that knowledge, building schema in long term memory.
This practice will certainly continue in the module design.
122
Happy learning and The Student Voice
The final note to consider in conclusion is the presence in the findings of the student
voice. Research into cognitive load theory requires measuring physiological
changes in response to how much cognitive load a person is facing. As a scientific
measure this data is clearly of value, yet we also need to keep in mind that students
have an important role in understanding the effectiveness or otherwise of our
pedagogy. On a personal note the student voice within the findings have added a
richness of tone which engages at a more emotive and less impersonal level. At the
back of these findings are learners with fears, hopes and aspiration who for the most
part just want to be happy learning.
123
Appendices
Word Clouds
What has helped you to learn programming?
All responses
i
All responses – term 1
ii
All responses – term 2
iii
Year 1- Term 1
iv
Term 2
v
Year 2 - Term 1
vi
Term 2
vii
Year 3 - Term 1
viii
Term 2No responses
ix
What has hindered your learning of programming?
All responses
x
All responses – term 1
xi
All responses – term 2
xii
Year 1 - Term 1
xiii
Term 2
xiv
Year 2- Term 1
xv
Term 2
xvi
Year 3 - Term 1
xvii
Term 2No results
xviii
You learn best when the tutor does not help directly
All responses
xix
All responses – term 1
xx
All responses – term 2
xxi
Year 1 - Term 1
xxii
Term 2
xxiii
Year 2-Term 1
xxiv
Term 2
xxv
Year 3- Term 1
xxvi
Term 2
You learn best working on real world programming problems
All responses
xxvii
All responses – term 1
xxviii
All responses – term 2
xxix
Year 1-Term 1
xxx
Term 2
xxxi
Year 2-Term 1
xxxii
Term 2
xxxiii
Year 3-Term 1
xxxiv
Term 2No responses
xxxv
You learn best by solving suitably complex programming problems
All responses
xxxvi
All responses – term 1
xxxvii
All responses – term 2
xxxviii
Year 1-Term 1
xxxix
Term 2
xl
Year 2-Term 1
xli
Term 2
xlii
Year 3-Term 1
xliii
Term 2No results
xliv
You learn best by working together in teams
All responses
xlv
All responses – term 1
xlvi
All responses – term 2
xlvii
Year 1-Term 1
xlviii
Term 2
xlix
Year 2-Term 1
l
Term 2
li
Year 3-Term 1
lii
First Focus Group Questions
liii
liv
lv
lvi
lvii
lviii
Consent Form
Title of project: Constructivist Approaches to Teaching Programming (A Critical Review)
Name of researcher: Matthew DeanPlease initial all boxes if you agree
1. I confirm that I have read and understood the information sheet [Version 1, dated October 2013] for the above study. I have had the opportunity to consider the information, ask questions and have had these answered satisfactorily.
2. I understand that my participation is voluntary and that I am free to withdrawat any time without giving any reason.
3. I agree that non identifiable quotes may be published in articles or used in conference presentations.
4. I agree to the interview being digitally audio recorded
5. I understand that data collected during the study may be looked at by a supervisor from De Montfort University. I give permission for the supervisor to have access to my data.
6. I agree to take part in this study
_________________________ ________________ _____________Print name of participant Date Signature
_________________________ ________________ _____________Print name of person taking consent Date Signature
lix
Participant Information Sheet
Title of Project: Exploring ways to help students learn programming.
Name of Investigator: Matthew Dean
You have been invited to take part in a research study. Before you decide whether to take part it is important for you to understand why the research is being done and what it will involve. Please take time to read the following information carefully and discuss it with friends and relatives if you wish to. Ask us if there is anything that is not clear or if you would like more information. Take time to decide whether you wish to take part or not. Thank you for reading this.
What is the study about?
In an effort to review teaching related to programming I am undertaking research to evaluate three areas. The first area of research relates to your experience of how programming is taught. The second area relates to the effectiveness of the taught material. The third area will be looking at the theoretical underpinnings behind how the curriculum is designed.
You are invited to participate in a qualitative and quantitative research project which forms a part of my MA in Education Practice at De Montfort University. My investigation is seeking to look at the theory of how programming is taught and review practice in the light of your involvement.
The project is being carried out in accordance with the ethical guidelines of the British Education Research Association and under the supervision of the Education staff at De Montfort University.
What does the study involve?
You may be involved in completing some or all of the following. Questionnaires, interviews or focus groups. Your involvement in these activities will help me to understand what you think and feel about how programming is taught and feed into ways that its teaching may be improved.
Why have I been chosen?
You have been chosen to take part in this study as a student studying on the course, alumni or as part of a wider network of stake holders.
Do I have to take part?
It is up to you to decide whether or not to take part. If you do decide to take part, you will be given this information sheet to keep and be asked to sign a consent form. If you decide to take part, you are still free to withdraw at any time and without giving a reason.
lx
What if I agree to take part and then change my mind?
You can withdraw from the study at any time, without giving a reason.
What are the possible benefits of taking part?
By taking part in this research you will help me as course and module leader to devise more effective approaches to teaching programming.
What if something goes wrong? / Who can I complain to?
If you have a complaint regarding anything to do with this study, you can initially approach the lead investigator. If this achieves no satisfactory outcome, you should then contact the Administrator for the Faculty Research Ethics Committee, Research & Commercial Office, Faculty of Health & Life Sciences, 1.25 Edith Murphy House, De Montfort University, The Gateway, Leicester, LE1 9BH or [email protected]
Will my taking part in this study be kept confidential?
All information which is collected about you during the course of the research will be kept on a password protected database and is strictly confidential. You will be given an ID code which will be used instead of your name. Any identifiable information you may give will be removed and anonymized.
What will happen to the results of the research study?
Findings from the study will be publish as part of the MA Dissertation. This will be made available to participants on request. Innovations and changes derived from the study will feed into future curriculum design.
Who has reviewed the study?
This study has been reviewed and approved by De Montfort University, Faculty of Health and Life Sciences Research Ethics Committee.
Contact for Further Information
If you require further information please contact:
Research investigator: Matthew Dean [email protected]
Research Supervisor: Motje Wolf [email protected]
Thank you for taking part in this study.
lxi
References
Angen, M.J. 2000, Evaluating Interpretive Inquiry: Reviewing the Validity Debate and Opening the Dialogue, Qualitative Health Research, vol. 10, no. 3, pp. 378-395.
Atwood, J. (2017). Why Can't Programmers.. Program?. [online] Blog.codinghorror.com. Available at: https://blog.codinghorror.com/why-cant-programmers-program/ [Accessed 7 Aug. 2017].
Baden, M.-S., Major, C.H. and Savin-Baden, M. (2004) Foundations of problem-based learning. Maidenhead: Society for Research into Higher Education & Open University Press.
Baden-Savin and Savin-Baden, M. (2000) Problem-based learning in higher education: Untold stories. Buckingham, United Kingdom: Society for Research into Higher Education & Open University Press.
Barrows, H.S. and Tamblyn, R.M. (1980) Problem-based learning: An approach to medical education. New York: Springer Publishing Co.Boud, D. and Feletti, G. (2003) The challenge of problem-based learning. London: Kogan Page.
Beed, P., Hawkins, M., & Roller, C. (1991). Moving learners towards independence: the power of scaffolded instruction. The Reading Teacher, 44(9), 648–655.
Bell, J. & Waters, S. 2014, Doing your research project: a guide for first-time researchers, 6th edn, Open University Press/McGraw-Hill Education, Maindehead.
Ben-Ari, M. (1998). Constructivism in computer science education. ACM SIGCSE Bulletin, 30(1), pp.257-261.
Biggs, J. (2006). Teaching for Quality Learning at University, Second Edition. The Society for Research into Higher Education.
Boud, D. and Feletti, G. (1998). The Challenge of Problem-based Learning. London: Kogan Page.
Boulay, B. du. (1989). Some difficulties of learning to program. In E. Soloway & J. C. Spohrer (Eds.), Studying the novice programmer (pp. 283–299). Hillsdale, NJ: Lawrence Erlbaum Associates.
Bozhovich, E.D. (2009) Zone of proximal development, Journal of Russian and East European Psychology, 47(6), pp. 48–69. doi: 10.2753/rpo1061-0405470603.
Bruner, J.S. (1962). On knowing: Essays for the left hand. Cambridge, MA: Harvard University.
Bruner, J. S. (1975). The ontogenesis of speech acts. Journal of Child Language, 2, 1-40.
Chase, W.G.; Simon, H.A. (1973). Perception in chess. Cognitive Psychology. 4 (1): 55–81. doi:10.1016/0010-0285(73)90004-2.
lxii
Clark, R., Nguyen, F., and J. Sweller (2005). Efficiency in Learning: Evidence-Based Guidelines to Manage Cognitive Load.
Cohen, L., Manion, L., Morrison, K. & Bell, R. 2011;2013;1993;, Research methods in education, 7th edn, Routledge, Abingdon.
Crockett, C. (2017). What is retrograde motion? | EarthSky.org. [online] Earthsky.org. Available at: http://earthsky.org/space/what-is-retrograde-motion [Accessed 18 Aug. 2017].
Chromatic. (2008). Extreme Programming Pocket Guide. Sebastopol: O'Reilly Media, Inc.
Cuevas & Fiore (2014). Enhancing learning outcomes in computer-based training via self-generated elaboration. Instructional Science; Vol. 42 Issue 6, p839-859.
Curzon, P. Learning computer science through games and puzzles. In Computers and Fun 2, York, UK, 1999.
Davies, S.P. (1993). Models and theories of programming strategy. International Journal of Man-Machine Studies, 39, 237–267
Dean, M. (2012) Use of Electronic Marking Grids (eGrids) to Enhance Assessment for both Staff and Students. Ireland International Conference in Education (IICE), 286-294
Dean, M., 2013, Simple Video Production for Academics, Conference of the International Journal of Arts & Sciences, CD-ROM. ISSN: 1943-6114 :: 6(3):81–97
Dublin, 16th – 18th April 2012
Dean, M. (2017). Programming Preferences Survey. [online] Matthew's Web Site. Available at: https://g677.dmu.ac.uk/Questions/ [Accessed 14 Aug. 2017].
Dehnadi, S. and Bornat, R. (2006) The camel has two humps (working title). Available at: http://eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf (Accessed: 23 January 2017).
Dehnadi, S. (2009). A Cognitive Study of Learning to Program in Introductory Programming Courses. School of Engineering and Information Sciences, Middlesex University.
Denscombe, M. 2003, The good research guide: for small scale research projects, 2nd edn, Open University Press, Maindenhead.
Gerjets, P., Scheiter, K. and Catrambone, R. (2004). Designing Instructional Examples to Reduce Intrinsic Cognitive Load: Molar versus Modular Presentation of Solution Procedures. Instructional Science, 32(1/2), pp.33-58.
Glaser, B.G. & Strauss, A.L. 1999. The discovery of grounded theory: strategies for qualitative research, Aldine de Gruyter, New York.
lxiii
Glaserfield, E von (1989) Cognition, construction of knowledge, and teaching, Synthese, 80, 121-140
Goleman, D. (1996) Emotional intelligence: Why it can matter more than IQ. London: Bloomsbury Publishing PLC.
Greer, McCalla, Cooke, Collins, Kumar, Bishop, & Vassileva, (2000). Integrating cognitive tools for peer help: The intelligent intraNet peer help-desk project. In S.P. Lajoie, eds, Computers as Cognitive Tools (Vol.2): No More Walls, Vol. 5, pp. 69–96. Mahwah, NJ: Erlbaum.
Halai, A. (2004). Action research to study classroom impact: is it possible? Educational Action Research, 12(4), pp.515-534.
Harre, R. and Secord, P. (1972). The Explanation of Social Behaviour. Oxford Blackwell.
Hoover, W.A. (2007) The practice implications of Constructivism - SEDL letter, Constructivism, volume IX, number 3, august 1996. Available at: http://www.sedl.org/pubs/sedletter/v09n03/practice.html (Accessed: 10 November 2016).
Jarrett, C. and Ginsburg, J. (2008). This book has issues. London: Continuum.
Jonassen (1988). Learning strategies in courseware. In David H. Jonassen (Ed.), Instructional designs for microcomputer courseware, (pp. 151-181). Hillsdale:NJ. Lawrence Erlbaum Associates, Publishers.
Kirschner, F., Paas, F., & Kirschner, P (2009). A Cognitive Load Approach to Collaborative Learning: United Brains for Complex Tasks. Educational Psychology Review, Volume 21, Issue 1, pp 31–42.
Knuth, R. A. & Cunningham, D. J. (1993) Tools for constructivism. In Duffy, T. and Jonassen, D. (1993). Designing environments for constructive learning. Berlin: Springer.
Kuhn, T. (1970). The structure of scientific revolutions. University of Chicago Press.
Lister, R., Seppälä, O., Simon, B., Thomas, L., Adams, E., Fitzgerald, S., Fone, W., Hamer, J., Lindholm, M., McCartney, R., Moström, J. and Sanders, K. (2004). A multi-national study of reading and tracing skills in novice programmers. ACM SIGCSE Bulletin, 36(4), p.119.
Malamed, C. (2017). Six Strategies You May Not Be Using To Reduce Cognitive Load. [online] The eLearning Coach. Available at: http://theelearningcoach.com/learning/reduce-cognitive-load/ [Accessed 18 Aug. 2017].
Mason, J. (1994). Enquiry in mathematics and mathematics education. In P. Ernest (Ed.), Constructing mathematical knowledge: Epistemology and mathematics education (190-200). London: The Falmer Press
lxiv
Matthews, M.R. (1994). Science teaching: The role of history and philosophy of science. New York: Routledge
Mayer, Bove, Bryman, Mars, and Tapangco (1996). When Less Is More: Meaningful Learning From Visual and Verbal Summaries of Science Textbook Lessons. Journal of Educational Psychology, 1996, Vol. 88, No. 1,64-73.
Mayer & Moreno (2003). Nine Ways to Reduce Cognitive Load in Multimedia Learning. Educational Psychologist, 38(1), 43–52.
McLeod, S. (2007) Lev Vygotsky. Available at: http://www.simplypsychology.org/vygotsky.html (Accessed: 6 January 2017).
Miller, G. (1956). The magical number seven, plus or minus two: some limits on our capacity for processing information. Psychological Review, 63(2), pp.81-97.
Morrison, K. R. B. (1998) Management Theories for Educational Change, London: Paul Chapman, In Cohen, L., Manion, L., Morrison, K. & Bell, R. 2011;2013;1993;, Research methods in education, 7th edn, Routledge, Abingdon. P 17
Muller, C.L. and Kidd, C. (2014) Debugging geographers: Teaching programming to non-computer scientists, Journal of Geography in Higher Education, 38(2), pp. 175–192. doi: 10.1080/03098265.2014.908275.
Overton, T. (2010). Problem Based Learning: An Introduction. [pdf] HEA Academy. Available at: https://www.heacademy.ac.uk/system/files/pbl.pdf [Accessed 11 Aug. 2017].
Pavlov, I. P. (1927) Conditioned Reflexes, London: Oxford University Press.
Pennington, N. (1987) Stimulus structures and mental representations in expert comprehension of computer programs, Cognitive Psychology, 19(3), pp. 295–341. doi: 10.1016/0010-0285(87)90007-7.
Perkins, D.N., & Martin, F. (1986). Fragile knowledge and neglected strategies in novice programmers. In E. Soloway & S. Iyengar (Eds.), Empirical studies of programmers, First Workshop (pp. 213–229). Norwood, NJ: Ablex.
Perkins, D.N., Hancock, C., Hobbs, R., Martin, F., & Simmons, R. (1989). Conditions of learning in novice programmers. In E. Soloway & J.C. Spohrer (Eds.), Studying the novice programmer (pp. 261–279). Hillsdale, NJ: Lawrence Erlbaum
Phillips, D. (2015) Perspectives on learning. Teachers College Press.
Piaget, J. and Cook, M. (1992) The Origins of Intelligence in Children. Madison, CT: International Universities Press.
Piaget, J., Inhelder, B., LANGDON, F. and LUNZER, J. (1956). [La Representation de l'espace chez l'enfant.] The Child's Conception of Space ... Translated ... by F.J. Langdon & J.L. Lunzer. [With illustrations.]. Pp. xii. 490. Humanities Press: New York; Routledge & Kegan Paul: London; printed in Great Britain.
lxv
Provan, A. (2011). Use of problem-based learning at the University of British Columbia. [ebook] BC Medical Journal. Available at: http://www.bcmj.org/sites/default/files/BCMJ_53_bcmd2b.pdf [Accessed 11 Aug. 2017].
Richardson, K. and Sheldon, S. (1987) Cognitive development to adolescence: A reader. Hove, East Sussex: Lawrence Erlbaum Associates, in association with the Open University.
Robins, A., Rountree, J., & Rountree, N. (2003). Learning and teaching programming: A review and discussion. Computer Science Education, 13, 137–172
Salovey, P. and Mayer, J. D. (1990) Emotional Intelligence, Imagination, Cognition and Personality, 9: 185-211.
Savin-Baden, M. and Major, C. (2004). Foundations of problem-based learning. Maidenhead, England: Society for Research into Higher Education & Open University Press.
Schaffer, R. (1996). Social development. Oxford: Blackwell.
Schugurensky, D. (1996) History of education: Selected moments. Available at: http://schugurensky.faculty.asu.edu/moments/1969mcmaster.html (Accessed: 10 November 2016).
Silverman, A. (2014) Plato’s middle period metaphysics and epistemology. Available at: https://plato.stanford.edu/archives/fall2014/entries/plato-metaphysics/ (Accessed: 24 January 2017).
Spohrer, J.C., & Soloway, E. (1989). Novice mistakes: Are the folk wisdoms correct? In E. Soloway & J.C. Spohrer (Eds.), Studying the novice programmer (pp. 401–416). Hillsdale, NJ: Lawrence Erlbaum.
Sweller, J.; Van Merriënboer, J. & Paas, F. (1998). Cognitive architecture and instructional design. Educational Psychology Review. 10 (3): 251–296. doi:10.1023/A:1022193728205.
Sweller, J (June 1988). Cognitive load during problem solving: Effects on learning. Cognitive Science. 12 (2): 257–285. doi:10.1207/s15516709cog1202_4.
Sweller, J. (2006). The worked example effect and human cognition. Learning and Instruction, 16(2), pp.165-169.
Vygotsky L. S. (1978) Mind and Society, Cambridge MA: Harvard University Press.
Winnicott, D. (1986). Home is where we start from. Reading, Mass: Addison-Wesley Publishing Company, Inc.
Winslow, L. E (1996). Programming pedagogy – A psychological overview. SIGCSE Bulletin, 26, 17-22
lxvi