Professional Documents
Culture Documents
A literature review showed that programming involves a high level of cognitive development (Pea and
Kurland, 1984). In a traditional computer lab it is not easy to promote students cognitive
developments in programming if learning activities and learning assisted tools are not well integrated.
For example, students cognitive understanding can be enhanced through integrating learning
activities and structured learning object.
Programming cannot be learnt without doing a lot of practice (Hwang et al., 2008). When learning to
program, it is essential that students are given the opportunity to practice in an environment where
they can receive constructive and corrective feedback. Without feedback, students may have a high
risk of failing the course. This study believes that the combination of the two approaches above would
give a better result on the process of learning.
Therefore, the objective of this project is to design and develop an Integrated Electronic Assessment
System to support student learning in introductory programming course. The proposed system is
modelled based on cognitive learning activities supported by learning objects that are integrated as
online help content and constructive learning activities supported by the assessment module which
enables the process of generating and debugging computer programs. The assessment module also
will also be equipped with functions to give a detailed description of each line of the code.
For all but the best students an introductory programming course can prove to be a very
confusing and daunting experience, especially during the first term. Programming courses are
generally regarded as difficult and often have the highest drop out rates [10]. In order to
succeed a novice programmer must simultaneously acquire many new skills and concepts that
include, the development environment, the syntax and semantics of a programming language,
an understanding of programming concepts and any paradigm specifics (such as Object
Orientation). The novice must also acquire the problem solving skills and strategies that will
enable them to solve programming problems in an effective way. With so many new things to
learn, it is easy to see why some students struggle with the topic.
Professional development environments deluge the novice with a vast array of
visual and functional complexity most of which they will never use. Furthermore
the syntax error messages generated by these environments tend to be cryptic,
misleading, and often inaccurate when taken at face value. Not only does this
overwhelm and intimidate the novice it detracts attention away from their key
goal, learning to program. It is for this reason that so many simplified pedagogic
programming environments exist.
Another hurdle for the novice is in learning the syntax and semantics of a programming
language, this can have a profound effect on the performance of novices. The current desire
to teach real world languages such as Java, C++, and Visual Basic means novices have to deal
with complex confusing syntax, often at the expense of the problem at hand. McIver [4]
concurs with this view stating that trivial syntax errors may in fact impede learning, as they
distract students from the fundamentals of programming and problem solving.
rogramming courses are generally regarded as difficult, and often have the
highest dropout rates. Learning to program is hard. Novice programmers suffer
from a wide range of difficulties and deficits.
Learning programming languages, such as the Java object oriented programming
language, is a great challenge
especially when the students are still in the basic level of programming efficiency. A lot of
practical exercises are
needed to help the students to lead to better understanding on a particular topic. By
giving appropriate programming
exercises and assignments, the students' cognitive skill can be increased. Unfortunately,
lecturers take a lot of time
and effort to evaluate and assess the students programming exercises and assignments.
The manual approaches of
assessing programming assignment, such as the hardcopies and diskettes, are obviously
costly, time consuming and
inflexible.