1. Learning Transfer:
does it take place?
Guanliang Chen*, Dan Davis*, Claudia Hauff*,
Georgios Gousios+ and Geert-Jan Houben*
An Investigation into the Uptake of Functional
Programming in Practice
* Delft University of Technology, the Netherlands
+ Radboud University Nijmegen, the Netherlands
2. The case for learning
transfer
retention
MOOC environment
engagement
learning
…
≠
knowledge
application
in practice
“learning transfer”
3. Our questions
To what extent does the transfer of learned concepts
take place?
@flickr:eviloars
What type of learners are most likely to make the
transfer?
How does the transfer manifest itself over time?
5. Web
Social Web
Beyond the MOOC
environment hundreds of
millions of users
most focus on
users’ private lifes
professional
networks are
becoming popular
MOOC
environment
6. GitHub
10+ million registered users
hosting, collaboration and organisation
the most popular social coding platform
founded in 2007
8. Hypotheses grounded in prior
works
@flickr:carbonnyc
H1: Only a small fraction of engaged learners is likely to exhibit
learning transfer.
H3: Learners expressing high self-efficacy are more likely to actively
apply their trained tasks in new contexts.
H4: Learners exhibiting a high-spacing learning routine are more
likely to exhibit learning transfer.
H5: The amount of exhibited transfer decreases over time.
H2: Intrinsically motivated learners with mastery goals are more likely
to exhibit transfer than extrinsically motivated learners.
10. FP101x
@flickr:christiaan_008
Course programming language: Haskell
Run as a typical video-lecture based MOOC
Assessment: 288 Multiple Choice questions
Introduction to Functional Programming
37,485 learners registered.
41% engaged with the course.
5% completed the course.
33% were active on GitHub (1.1M events).
12. Are “GitHub learners” different?
GitHub
learners
Non-GitHub
learners
#Learners 12,415 25,070
Completion rate 7.71% 4.03%
Avg. time
watching videos
49.1 min 27.7 min
Avg. #questions
attempted
31.3 17.5
Avg. accuracy of
learners’ answers
23.4% 12.9%
GitHub learners are more engaged than non-GitHub learners
and exhibit higher levels of knowledge.
13. Are “Expert learners” different?
Expert GH
learners
Novice GH
learners
#Learners 1,721 10,694
Completion rate 15.0% 6.5%
Avg. time
watching videos
78.6 min 44.4 min
Avg. #questions
attempted
57.9 27.0
Avg. accuracy of
learners’ answers
38.0% 21.1%
Expert learners are more engaged than Novice learners
and exhibit higher levels of knowledge.
14. FP101x does not influence the amount of functional
coding by our Expert learners.
Do Expert learners change?
15. What happens to our Novice
learners?
Learning transfer occurs at a rate of 8.5%.
Learning transfer does not decrease over time.
Lack of learning transfer mainly due to a
lack of opportunities.
16. Learners are more likely to
transfer when …
they are intrinsically motivated.
have high self-efficacy.
are experienced programmers.
18. Conclusions
Most transfer learning findings from the classroom hold.
The observed transfer rate is low: 8.5%.
Learners quickly moved on after the course to
industrially-relevant functional languages.
@flickr:torsten-reuschling
Existing investigations into student learning within MOOC environments are commonly based on pre- & post-course surveys and log traces generated within those environments by the individual learners
While student learning is indeed an important measure of success, we argue that another key measure is the amount of learning transfer that is taking place: do learners actually utilize the newly gained knowledge in practice? Are learners expanding their knowledge in the area over time or do they eventually move back to their pre-course knowledge levels and behaviours?
Research questions
The main challenge researchers face in answering these questions is the lack of accessible , large-scale, relevant and longitudinal data traces outside the MOOC environments.
MOOCs are embedded deeply into the Web.
Social Web platforms (Twitter being the prime example) have become a mainstay of the Web.
They are used by hundreds of millions of users around the world and often provide open access to some | if not all | of the data generated within them.
While most of these platforms are geared towards people's private lives, in the past few years social Web platforms have also begun to enter our professional lives.
We focus on one specific one: GitHub.
GitHub is one of the most popular social coding platforms world-wide with more than 10 million registered users.
As GitHub was founded in 2007, we have potential access to log traces reaching several years into the past; moreover, its continuously increasing popularity will enable us to
observe our learners over years to come.
An example GitHub page showing the type of data we can draw from them. GitHub’s API is open.
Our five hypotheses. All of them are based on prior works in the classroom and workplace transfer learning literature.
high self-efficacy: those learners that believe in themselves
high-spacing learning routine: the learner learns over time instead of a single big “cramming” session (the so-called low-spacing learners)
FP101x is a functional programming course [explained more in the next slide]
We used GitHub data across 3 years: 2.5 years before the course and 6 months after the course.
Linking between edX and GitHub through email addresses.
FP101X = Introduction to Functional Programming is a MOOC offered by the Delft University of Technology on the edX platform.
The course introduces learners to various functional programming concepts; all
programming is performed in the functional language Haskell.
The ~12,000 learners on GitHub created more than 1 million events (pushing code changes)
The first iteration of the course ran between October 15, 2014 and December 31, 2014.
The course was set up as an xMOOC: lecture videos were distributed throughout the 8 teaching weeks. Apart from lectures each week, exercises were distributed in the form of multiple choice (MC) questions. To enable fully automatic evaluations, all lab work was also assessed through MC questions. Each of the 288 MC questions was worth 1 point & could be attempted once. Answers were due 2 weeks after the release of the assignment.
To pass the course, 60% of all MC questions had to be answered correctly.
Overall, 37,485 users registered for the course. Fewer than half (41%) engaged with the course, watching at least one lecture video. The completion rate was 5.25%, in line with similar MOOC offerings.
33% of all registered learners were active on GitHub.
If everything works as expected, Haskell should go up during the course months and then go down again. It does.
Learners partitioned into those found on GitHub and those not found on GitHub. Significant differences are shown in bold.
Experts: functional experience before FP101x.
Novices: functional experience only after FP101x.
Plotted here is the percentage of functional programming learners exhibit (the percentage of all programming). We do not observe an effect of FP101x - functional programming levels tend to increase over time.
This plot shows all Novice learners that started programming afterwards. Substantial percentage of programming occurs in functional languages.
Overall, only 8.5% of the Novice engaged learners actually started functional programming after the course.
Learning transfer does not decrease over time.
To learn why the transfer rate is so low, we run a survey among the Novice learners - 80% of the time, learners mentioned the lack of opportunities to apply that knowledge in their work setting.
These three hypotheses from the literature are also confirmed for MOOCs (H1-H3).
Here is a splitup of all functional languages: which one do learners turn to over time? We see that initially Haskell is important (course language), however, learners quickly turn to Scala, the industrially leading functional language.