STM 3044
PROJEK
KERTAS CADANGAN PROJEK
< Tajuk Projek >
SESI : JUN 2019
DISEDIAKAN OLEH :
< NAMA PELAJAR >
DISEDIAKAN UNTUK :
PUAN NORANIZA BINTI MAT RASDI
TARIKH:
18 JULAI 2019
Table of Content
Items Page
Title ………………………………………………………………………… 1
1.0 Introduction .………………………………………………………………. 1
1.1 The Importance of E-Learning Systems ………………………….. 2
1.2 Why Agent-Based System ………………………………………… 2
2.0 Problem statement .…..……………………………………………………. 3
3.0 Objective and scope .…..…………………………………………………... 4
4.0 Literature review .………………………………………………………….. 5
5.0 Methodology .…………………..………………………………………….. 7
5.1 System Specification ………………………..…………………………. 8
5.2 Architectural Design …………………………………………………… 9
5.3 Detail Design …………………………………………………………… 9
6.0 Expected results ….…………………………………………………….…… 10
7.0 Schedule (Gantt Chart) ...................................................................... 10
References …………………………………………………………………………. 11
1
Table of Figure
Items Page
Figure 1: Research Framework ............................................................................... 7
Figure 2 : Gantt-Chart ………….…………………………………………………. 10
2
Design and Implementation of an Agent-Based Model
to Assist Students in Programming Course
1.0 Introduction
In our lives, we frequently need assistants to help us in performing our daily tasks.
For example, in managing our households, we often require maid services; at the office,
department heads are normally provided with a personal assistant or secretary to help ease
their tasks and the list continues to persist to some other task areas more.
Similarly, in the world of Software Engineering technology, starting from the era of
automating the department’s activities or industrial processes from manual to using
computerized system, nowadays with the advent and sophistication marked in the software
engineering industry, the interest is moving towards a software engineering involving agents
known as software agents. Software Agent has become a paradigm shift for automation in
Software Engineering technology.
As we often need to aid in our daily activities, it is also necessary to aid in teaching
and learning methods that we run. The importance of having this facility in the teaching
technique is that it will make possible for the students to proceed with the learning activities
outside the classroom hour. The problem arises in connection with learning outside of the
class time is that their teachers or instructors are not there to help explain things that they
need clarification. Without this type of system in place it would create difficulties to students
as they need to do a lot of programming practices, in order to master programming subject
more effectively.
For that reason and the capability of Software Engineering which is excellence in
performing such duties, here we are proposing a project titled “Design and Implementation of
an Agent-Based Model to Assist Students in Programming Course”. Besides that, with this
system in place, our intention is also to reduce the workload of the teacher by reducing the
students to teacher dependency in their learning processes.
This project is actually based on the anchor paper titled “u-TA: A Ubiquitous
Teaching Assistant Using Knowledge Retrieval and Adaptive Learning Techniques” done by
Lu-Hui Huang, Chyi-Ren Dow, Yi-Hsung Li, Pa Hsuan from the Department of Information
Engineering and Computer Science, Feng Chia University, No.100, Wenhua Rd., Xitun Dist.,
Taichung City 407, Taiwan. Their paper have been published by the Journal of Wiley
3
Periodicals, Inc. Computer Application Engineering Education 21: 245–255, in year 2013
[1].
1.1 The Importance of E-Learning Systems
There are many efforts have been made in developing the system as we suggest
earlier. Among them is the development of Self Learning Module [2] which consists of
modules, notes and exercises to help students learn on their own based on their level of
understanding. In addition, there is also software developed in the form of visual
programming languages such as Alice [3], Scratch [4] and others which are expected to assist
students in learning to programming using self-concept.
To improve the quality of teaching and to address the limitations of traditional
learning in enabling students to learn at anytime and anywhere, review and application of e-
learning has become increasingly popular. Researchers have designed and implemented
varieties of learning platforms [5][6][7] that acts as an interface for students to access the e-
learning system. The e-learning provides students with learning environment that is more
comfortable to complement the learning process [8].
1.2 Why Agent-Based System
There are doubts whether it is true that agent-based systems really have advantages
over the non-agent systems. Many researchers have performed several studies to assess on
this matter.
The interest among computer scientists and other interdisciplinary researchers
nowadays is shifting from developing a non-agent based system towards an agent-based
system. Their change of direction is actually appropriate because from a number of studies, it
has been proven that the agent system is more efficient to be more effective than a non-agent
system.
From the aspect of education domain, the interest is now in developing a more life-
like pedagogical agents (animated computer-based interface characters). It is due to the
reason that this type of agent system turned out to be more effective and interactive in
learning environments. The presence of such life-like characters has been found to have a
positive effect on learners’ interactive experience. By engaging the learner, such agents can
create more meaningful learning experiences [9] and can in turn positively impact learning
performance [10].
4
The capacity of a life-like pedagogical agent in facilitating a more interactive and
meaningful communication between learners and the computer, contributes to their
effectiveness in supporting learning and motivation [11].
In recent research done by Van der Meij, H. (2013) [12], Pedagogical agents can
provide important support for the user in human–computer interaction systems. His study
examines whether a supplementary, motivating agent in a print tutorial can enhance student
motivation and learning in software training. The agent served the role of motivator,
attending the students to issues of task relevance and self-efficacy. The agent was presented
in the tutorial by means of images and written messages. An experiment compared the agent
condition with a no-agent (control) condition. Participants were 49 students (mean age 11.3
years) from the upper grades of elementary school. Data on motivation and learning were
gathered before, during and after the training. The findings revealed that students in the agent
condition did significantly better on skills measures during and after training (i.e.,
performance indicators, post-test, and retention test). In addition, marginally significant
differences favouring these students were found for flow experience during training and for
motivational gains on task relevance and self-efficacy after training. This concludes that
design strategies of the motivating agent are considered relevant for the creation of Animated
Pedagogical Agents.
2.0 Problem Statement
“The primary goal in any human learning environment is for the learner to advance.
Software applications built to facilitate human learning, in contrast to applications
constructed with other goals in mind, are not designed to simplify or perform a task for a
user, but rather to help a user acquire a set of skills, learn how to accomplish a set of tasks,
understand new concepts, learn how to solve problems, and/or practice any or all of the
above” [13].
Our anchor paper researchers [1] developed a ubiquitous teaching assistant (u-TA) for
assisting students in solving problems in laboratory courses using agent techniques. The
proposed u-TA system consists of two parts: user interfaces and system agents. The interface
is based on Web and instant messenger-based interfaces. The web interface is used to seek
information from the internet and the instant messenger interface is used to provide help for
students in the form of question and answer. The u-TA system encompasses five system
agents which are: (i) Event agent which promotes students learning efficiency. The event
5
agent consists of an observer agent and an event logs. By analysing the event logs, the
observer agent will report to the u-TA that the student may need learning support. (ii)
Guiding agent which helps users understand how to operate the system. (iii) Knowledge
retrieval agent which provides answers related to the students questions via the instant
messaging interface. (iv) Learning agent provides two learning methods: agent-based
learning unit which exchanges knowledge with other agents to allow giving students
immediate answers, and counsellor-based learning unit which inserts the new answer into the
knowledge database. (v) Feedback recording agent describes the operational flow mechanism
and it is operated as long as the agent gives suggestions to users.
From the system developed by the anchor paper, it is found that, the system did not
include a mechanism for teachers to observe the learning activities of the students. This
mechanism is important to be included because, in order to assist students during the learning
process in the e-learning environment, teachers need to observe students’ learning activities
[5][14][15]. The information contained in any learning portfolio is a convenient way for
teachers to analyse the learning activities of students using online learning systems. Teachers
assess learning activities using learning portfolio variables, including the number of times
students log in to system, their frequency of accessing materials, and the number of messages
they post. Learning portfolios provide personal learning histories, encouraging student self-
reflection. A real-time and adaptive learning activity monitoring module should be provided
to allow teachers to counsel their students efficiently [16].
3.0 Objective and Scope
There are two objectives to achieve in this study that are to design and implement the
activity observation module. The proposed module uses the real-time learning events of
students to recognize their learning activities. The teacher can then monitor these real-time
learning from the learning platform. The proposed module supports an interface for teachers
to manage the activities that they want to monitor in the course. After defining or modifying
the activities, the system generates an activity recognizer. Using the proposed activity
recognizers, teachers can determine students’ learning activities and actively provide real-
time guidance when students experience abnormal learning states.
This project will be focusing on the Visual Basic 6.0 subject matter topics in
accordance to the Community College Information Technology Certificate syllabus.
6
4.0 Literature Review
What are software agents? The term software agents sparked a lot of discussion about
the terms used. Within the field of Software Engineering, the precise definition of an
Intelligent Agent is often debated [17], however, in general a commonly accepted definition
is that an agent is “anything that can be viewed as perceiving its environment through sensors
and acting upon the environment through effectors” [18].
Besides that, an agent is said to possess their properties as follows: “A software agent
is autonomous; that is capable of operating as a standalone process and performing actions
without user intervention. A software agent is communicative; it communicates with the user,
other software agents, or other software processes. A software agent is perceptive; it is able to
perceive and respond to changes in its environment” [19][20]. “Software agents also, like
people, can have different levels of competence at performing a particular task. For example,
one email software agent might be quite dumb and capable of only forwarding email to a few
specified locations. A second, smarter email agent might have the ability to automatically
detect and delete spam. While, software agents must be autonomous, communicative, and
perceptive, they can have different levels of competence (intelligence) as determined by their
programs - i.e., their behavioural specifications” [19].
Based on the paper by [21] they claimed that, “Within the class of facilitating agent-
based human learning systems, we found that there are three types of agents. The first are
pedagogical agents [22], the second type is peer-learning agents [23][24] and the third one
are demonstrating agents, where the agents themselves are interactive mediums for learning,
for example, agent-based simulations [25][26] or educational robotics [27][28].”
Interactions between teachers and students are fundamental activities in the learning
process. A learning portfolio provides the students’ learning state logs. Teachers make use of
the information contained in the learning portfolio to analyze the behavior of students during
the learning process [29][30] or activities that they are doing and from that information try to
increase their learning performance. Previous studies [5][14][15][31] study ways to improve
the performance of learning through learning behaviors or activities.
Ortega et al.(2014) [32] proposed educational data mining (EDM) to identify the
behaviour of students in virtual teaching environments for the teachers to improve learning
efficiency in e-learning. Blended instruction, also known as b-learning, is an approach that
combines the benefits of online and classroom instructions to improve distance learning
environments where learners can be easily disoriented due to a lack of communication or
7
direct guidance. In these new teaching models, technology is a vehicle that delivers
instruction, facilitating the creation of interactive learning environments, intelligent tutoring
systems and allowing for integration into the educational processes of a large number of e-
learning resources. There are a growing number of courses taught using Computer-Supported
Collaborative Learning (CSCL) tools, such as Moodle, WebCT and Blackboard. These tools
generate large repositories of data that can be explored to understand how students learn.
Data include interesting and valuable information, such as the number of times, frequency
and physical and temporal distribution of accesses, pages visited, activities carried out. In a b-
learning model this information can be combined with indicators obtained directly by the
teacher regarding classroom activities. Educational Data Mining (EDM) focuses on data
mining techniques for using these data to address important educational questions. These
techniques can be useful for predicting student performance, identifying behaviour patterns,
defining individualised learning strategies and recommendation systems to improve students
learning.
The Web-based course is a type of asynchronous learning environment which
measures the time distribution of learning as a guideline for assessing students' learning
behavior. Hwang and Wang [33] suggest the learning time patterns to diagnose the state of
learning in asynchronous learning environment of students. Teachers often use the intensity
of the learning time, burst evaluating equations, and state denotation as an approach to
evaluate the characteristics of their students' learning time. Burst state and diligence state are
two variables of asynchronous learning time patterns. This inter-arrival time and the duration
variables from student learning portfolios represent the two states. With these style and
portfolio learning, teachers can help students learn in the correct sequence and encourage
students to exercise self-discipline for better learning outcomes.
Graf, S. et al. (2011) [34] proposed the Academic Analytics Tool (AAT) that allows
users to access and analyse student behaviour data in learning systems; it enables users to
extract detailed information about how students interact with and learn from online courses in
a learning system, to analyse the extracted data, and to store the results in a database and/or
CSV/HTML files. AAT is primarily developed for learning designers who want to get
feedback about how students use and learn in courses, but it can also be used by teachers. In
order to use AAT, users need to know the courses they aim at investigating well in order to
interpret the results correctly. AAT allows users to decide and specify what data they are
interested in and what analysis they want to perform with this data. Furthermore, the data and
8
information that can be extracted and analysed through AAT go far beyond the statistics and
activity reports provided in some LMSs, which show limited information predefined by their
developers (e.g., information about when a student logged in the last time or accessed a
certain activity). Instead, AAT provides comprehensive and customized information to its
users, allowing them not only to select from predefined types of information but also to
specify what information they are interested in.
5.0 Methodology
In order to formulate and propose the agent-based model to assist students in
programming course, there are few steps that need to be taken and conducted. To help
facilitate the explanation in this section, the research framework of the model to be developed
is presented here.
Start
Design
Study Data Analysis Proposed
Model
Previous work Specification
Journal
Implementation
Prometheus Methodology Recommendation
- JADE / Suggestion
- System Specification
- Architectural Design End
- Detailed Design
Figure 1 : Research Framework
9
The methodology for the analysis and design of this agent-based model will be using
Prometheus methodology. As we know Prometheus methodology is an intelligent agent
development methodology. Prometheus methodology is selected due to the reason that it is
detailed and complete in the sense of covering all activities required in developing intelligent
agent systems [35].
The Prometheus methodology consists of three phases, that are :-
The system specification phase focuses on identifying the basic functionalities of the
system, along with inputs (percepts), outputs (actions) and any important shared data
sources.
The architectural design phase uses the outputs from the previous phase to determine
which agents the system will contain and how they will interact.
The detailed design phase looks at the internals of each agent and how it will accomplish
its tasks within the overall system.
5.1 System Specification
During the question submission, a student will submit their question by typing the
question in the text box of the interface screen. The student should be notified of the question
are being processed by a progress indicator showing the answering process is running. Upon
receiving a question from a student, the system will identify the keyword from the question
entered. Based on the keyword combined with the category of the programming which the
student has selected from the drop down, the system will then search the appropriate answer
from the database. After several seconds, the student should have received their answer from
all the three respective agents. At the bottom of the agents answers, we will include together a
message box to inquire on the answers accuracy and satisfactory. The student will reply to the
inquiry and if the answer is to the student’s satisfactory then the system will record this in its
memory and will give the same answer whenever the same question are given again in the
future. If the answer is not to the student’s satisfactory, then the system will review it with a
negative feedback and will try to recommend another answer until it is accepted by the
student. If there is not exact answer available to the student, then a message will be given to
the student saying that the system will escalate the question the domain expert and a
notification on the available answer will pop-up once he log-in to the system again next time.
While this scenario happen to the system user, an email notification will also be submitted to
the domain expert on the same issue so that the database of the system may be updated.
10
This agent-based system has the percepts of students submitting their questions, and
students answering on the satisfactory inquiry.
Actions are generating keywords from the question, providing solution answer on the
student’s questions, satisfactory inquiry message, answering feedback record and sending
email to domain expert/teacher.
The entities/actors that interact with the system are: Student and Domain-
Expert/Teacher.
There are five scenarios exist in the system. The first scenario is Get Questions
Scenario, second is Keyword Construction Scenario, third is Answer Retrieval Scenario,
fourth is Sufficient Answer Scenario and the fifth is Insufficient Answer Scenario.
5.2 Architectural Design
The major decision to be made during the architectural design is which agents should
exist. We assign functionalities to agents by analysing the artefacts of the previous phase to
suggest possible assignments of functionalities to agents.
From the system specification we identified five possible agents for this system. The
first agent is the keyword generating agent, the second agent are the three answering agents
which will cover the coding syntax, the coding syntax parameter explanation and the detail
description of the coding syntax usage purpose. The third agent is the agent who is
responsible for the feedback recording answer function and the fourth agent is the one who is
going to acknowledge the user as well as the domain-expert on the insufficient answer.
5.3 Detailed Design
The focus of the detailed design phase is on defining capabilities (modules within the
agent), internal events, plans and detailed data structures.
. For this system, the first keyword generating agent has the capabilities to filter out
redundant word and to segment statement into words. The second three answering agents
have the capabilities of matching the keywords combine with the programming category to
the appropriate answer. The feedback recording answer agent has the capability to memorize
the most appropriate answer for a particular keywords and category; and the last agent which
is the insufficient answer acknowledgement has the capability to send acknowledgement to
student and teacher for insufficient answer.
11
6.0 Expected Results
The main contribution expected of this project is the Activity Observation Module of
the Agent-based Model design that can help the teacher to monitor the students learning
behaviour and provide real-time guidance when students experience abnormal learning state.
7.0 Schedule (Gantt Chart)
Month / Year
Nov Dec Jan Feb Mac April May Jun
No. Activities
2013 2013 2014 2014 2014 2014 2014 2014
1. Phase 1 : Initial Study
Search area of interest
2. Phase 2 : Analysis
Study and analysis on the area of
interest with regards to learning
assistance on previous work
done
3. Phase 3 : Requirement
Identify the requirement needed
to improve on the agent-based
model to assist student in
programming course
4. Phase 4 : Design
Design and propose new model
of agent-based system to assist
student in programming course
using Prometheus
5. Phase 5 : Implementation
Perform coding using JADE
framework
6. Final Report
Figure 2 : Gantt-Chart
12
References
1. Huang, Lu‐Hui, et al. "u‐TA: A ubiquitous teaching assistant using knowledge retrieval
and adaptive learning techniques." Computer Applications in Engineering Education
21.2. 245-255. 2013.
2. Yahaya, N., and Salleh, N. "Modul pembelajaran kendiri (MPK) bagi perisian Microsoft
Visual Basic 6.0." unspecified: 1-8. 2011.
3. Cooper, S., Dann, W., and Pausch, R. “Alice: a 3-D tool for introductory programming
concepts.” J. Comput. Sci. Coll. 15, 5. 107-116. 2000.
4. Maloney, J., Resnick, M., Rusk, N., Silverman, B., and Eastmond, E. “The scratch
programming language and environment.” ACM Trans. Comput. Educ. 10, 4, Article 16.
2010.
5. Acampora, G., Loia, V., and Gaeta, M. “Exploring e-learning knowledge through
ontological memetic agents.” IEEE Comput Intel Mag 5, 66–77. 2010.
6. Jou, M., “An interactive course model applying in e-learning system for promoting
machining practice ability.” Int J Technol Eng Educ 2, 13–25. 2005.
7. Tzafestas, C.S., Palaiologou, N., and Alifragis, M. “Virtual and remote robotic laboratory:
Comparative experimental evaluation.” IEEE Trans Educ 49, 360–369. 2006.
8. Li, Y.H., Dow, C.R., Lin, C.M., and Lin, P.J. “A transparent and ubiquitous access
framework for networking and embedded system laboratories.” Comput Appl Eng Educ,
Published online in Wiley Online Library, DOI: 10.1002/cae.20398
9. Baylor, A.L. “Beyond butlers: Intelligent agents as mentors.” Journal of Educational
Computing Research, 22(4), 373-382. 2000.
10. Atkinson, R.K. “Optimizing learning from examples using animated pedagogical agents.”
Journal of Educational Psychology, 94, 416-427. 2002.
11. Craig, S.D., and Gholson, B. “Does an agent matter? The effects of animated pedagogical
agents on multimedia environments.” Proceedings of ED-MEDIA 2002: World
Conference on Educational Multimedia, Hypermedia and Telecommunications., Norfolk,
VA. 2002.
12. Van der Meij, H. "Motivating agents in software tutorials." Computers in Human
Behavior 29.3, 845-857. 2013.
13. Sklar, E. “Agents for Education : When Too Much Intelligence is a Bad Thing.”
Proceedings of the Second International Joint Conference on Autonomous Agents and
Multi-Agent Systems (AAMAS), 1118-1119, ACM Press. 2003.
13
14. Ibrahim, D. “A data logger for teaching data capturing and analysis to engineering
students.” Comput Appl Eng Educ 18, 397–405. 2010.
15. Sun, P.C., Cheng, H.K., Lin, T.C., and Wang, F.S. “A design to promote group learning
in e-learning: Experiences from the field.” Comput Educ 50, 661–677. 2008.
16. Dow, C.R., Li, Y.H., Huang, L.H., and Hsuan, P. "Development of activity generation
and behavior observation systems for distance learning." Computer Applications in
Engineering Education. 2011.
17. Wooldridge, M. “An Introduction to Multi-agent Systems.”, John Wiley and Sons. 2002
18. Russels, S., and Norvig, P. “Artificial Intelligence: A Modern Approach”, 2nd edition,
Prentice Hall. 2002.
19. “Agent Builder. What is an Agent?.” Retrieved on December 22nd, 2013, from
http://www.agentbuilder.com/Documentation/whyAgents.html
20. Petrelli, D. “Person vs. agent: views of the computer future. Review of: Hayes-Roth, F. &
Amor, D.”, Radical simplicity., Upper Saddle River, NJ: Prentice Hall, 2003 and
Shneiderman, B. Leonardo's laptop. Cambridge, MA: MIT Press, 2002. Information
Research, 9(1), review no. R114. 2003.
[Available at: http://informationr.net/ir/reviews/revs114.html]
21. Sklar, E., and Richards, D. "Agent-based systems for human learners." Knowledge
Engineering Review 25.2 .111. 2010.
22. Johnson, W. L. “Pedagogical agents for virtual learning environments.” Proceedings of
the International Conference in Education, Singapore, 41-48. 1995.
23. Kim, Y. “Agent learning companions: learners expectation of the desirable
characteristics.” Proceedings of the Agent-based Systems for Human Learning (ABSHL)
Workshop at AAM AS-2005, 27-34. 2005.
24. Sehaba, K., and Estraillier, P. “A multi-agent system for rehabilitation of children with
autism.” Proceedings of the Agent-based Systems for Human Learning (ABSHL)
Workshop at AAM AS-2005, 84-89. 2005.
25. Repenning, A., and Citrin, W. “Agentsheets: Applying grid-based spatial reasoning to
human-computer interaction.” IEEE Symposium on Visual Languages, 24-27. 1993.
26. Wilensky, U., and Resnick, M. “Thinking in levels: A dynamic systems perspective to
making sense of the world.” Journal of Science Education and Technology, 8(1), 1999.
27. Goldman, R., Eguchi, A., and Sklar, E. “Using Educational Robotics to Engage Inner-
City Students with Technology.” Sixth International Conference of the Learning
Sciences, 2004.
14
28. Sklar, E., Parsons, S., and Stone, P., “Using RoboCup in university-level computer
science education.” Journal on Educational Resources in Computing (JERIC), Special
Issue on robotics in undergraduate education, part I, 4(2). 2004.
29. Martínez‐Caro, E. "Factors affecting effectiveness in e‐learning: An analysis in
production management courses." Computer Applications in Engineering Education 19.3,
572-581. 2011.
30. Richardson, J.T.E. “Investigating the relationship between variations in students’
perceptions of their academic environment and variations in study behaviour in distance
education.” Br J Educ Psychol 76, 867–893. 2006.
31. Aradag, S., Cohen, K., Seaver, C.A., and McLaughlin, T. “Integration of computations
and experiments for flow control research with undergraduate students.” Comput Appl
Eng Educ 18, 727–735. 2010.
32. Ortega, Cobo, A., Blanco, R.R., and Diaz, Y.Á. "Educational Data Mining: User
Categorization in Virtual Learning Environments." Soft Computing for Business
Intelligence. Springer Berlin Heidelberg, 225-237. 2014.
33. Hwang, W.Y., and Wang, C.Y. “A study of learning time patterns in asynchronous
learning environments.” J Comput Assist Learn 20, 292–304. 2004.
34. Graf, S., Ives, C., Rahman, N., and Ferri, A. "AAT: a tool for accessing and analysing
students' behaviour data in learning systems." Proceedings of the 1st International
Conference on Learning Analytics and Knowledge. ACM, 2011.
35. Padgham, L., and Winikoff, M. "Prometheus: A methodology for developing intelligent
agents." Agent-oriented software engineering III. Springer Berlin Heidelberg, 174-185.
2003.
15