Abstract - An e-learning system provides a platform for
communication between educators and students. It
facilitates the sharing of information and learning content in
a form which can be easily accessed by the users. The scope
of the research revolves around the idea that an automated
assessment in an e-learning platform would be able to help
programming learners understand defects in their program
and independently learn how to program. This research
would investigate the effects on college or university
students. This research analyzes the effectiveness of various
ways to learn a programming language. It is believed that
automated assessment tools would be able to monitor and
improve students’ programming skills over time and reduce
the effort for both instructors and students.
Keywords – Computing Education, Human Factors,
Technology Management, e-Learning
I. INTRODUCTION
The continuous evolution of software requires
educators to update programming training from time to
time. It is not a simple task to teach programming, which
involves comprehension of newly introduced abstract
concepts to map existing problem solving skills learnt
from prior school mathematical subjects with logical
thinking [1][2]. To learn a programming language, one
must able to understand its programming syntax,
programming paradigms, and various control structures.
Most importantly, the learners need to apply them to
design a proven solution to the given problem. Olsson et
al. [3] support that programming tools can provide good
facilities for application development, to implement the
idea needed to solve an identified problem.
Much e-learning content in the virtual learning
environments merely puts traditional learning content
online [4]. This motivates the need to engineer
meaningful materials for learning computing to ensure
that the materials uploaded to a virtual learning
environment is better than their predecessor traditional
forms. To improve programming education in school and
tertiary study levels, computing education could consider
different aspects and approaches. Among the aspects
include using the students’ own mother tongue to learn a
programming language [2], equipping computing
education with video learning objects [5], and helping
with program visualization tools [3][4]. Much attention is
driven on the approach of semi- or automatic assessment
tools [6]-[12].
II. MOTIVATION
E-learning has augmented traditional classroom-based
teaching with new methods that enhance learning
experiences for learners. Teaching programming is not an
easy task. Much e-learning content in the virtual learning
environments merely puts traditional learning content
online. Many research has been carried out on different
methods to improve teaching and learning. One of the
challenges to be addressed for massive open online
courses (MOOCs) in Programming that is designing
feedback for students in program grading is difficult; it
should help them understand the defects in their program.
The tremendous number of submissions in e-learning
platforms (such as MOOCs and interactive learning
environments) that require feedback justifies the need for
automated assessment. This research will try to answer
the following research questions (RQs).
RQ1) How to help students understand defects in
their program? By having students evaluate their own
learning progress, they can identify their own skill gaps.
Self-assessment is a valuable learning tool that can help in
promoting students' own learning and responsibility for
their learning [9][13]. With this, we intend to build an
experiment that tests the idea of reducing error and
marking burden for educators. Correctness and the speed
of assessment of the proposed model will be examined.
RQ2) How well does the proposed model handle
different complexities of task? This is about the process of
building up a capital (the most common solutions) from
the large number of submission, in order to develop
programming skills of students. The model should be able
to accomplish the goal of estimating the number frequent
submissions (the most common solutions) for different
complexities of task (simple, medium and high
complexity tasks).
RQ3) Would this new model improve students’
achievement in learning programming? We want to build
an environment that allows student to iteratively improve
and resubmit their work, which should be useful for
students to develop programming skills. Usefulness of the
feedback will be examined.
In recent years, Massive Open Online Courses
(MOOCs) integrated with Learning Content Management
System (LCMS) allow students from all over the world in
different time zones with different schedules join a
course. Program grading should be integrated with
feedback to students, since this could help them to
Engineering Meaningful Computing Education: Programming Learning
Experience Model
S. B. Ho
1
, S. L. Chean
2
, I. Chai
1
, C. H. Tan
3
1
Faculty of Computing and Informatics, Multimedia University, Selangor, Malaysia
2
Lee Kong Chian Faculty Engineering and Science, Universiti Tunku Abdul Rahman, Selangor, Malaysia
3
Faculty of Management, Multimedia University, Selangor, Malaysia
(sbho@mmu.edu.my)
925 978-1-7281-3804-6/19/$31.00 ©2019 IEEE925