teaching java with the assistance of harvester and pedagogical agents

20
Teaching Java with the assistance of harvester and pedagogical agents D. Mitrović, M. Ivanović, Z. Budimac, Lj. Jerinić

Upload: tamal

Post on 23-Feb-2016

50 views

Category:

Documents


0 download

DESCRIPTION

Teaching Java with the assistance of harvester and pedagogical agents. D. Mitrović, M. Ivanović, Z. Budimac, Lj. Jerinić. Agenda. Introduction and background Harvesting learning material Helpful and misleading pedagogical agents Current and future developments. The goal. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Teaching Java with the assistance of harvester and pedagogical agents

Teaching Java with the assistance of harvester and pedagogical agents

D. Mitrović, M. Ivanović, Z. Budimac, Lj. Jerinić

Page 2: Teaching Java with the assistance of harvester and pedagogical agents

Agenda

Introduction and background Harvesting learning material Helpful and misleading pedagogical agents Current and future developments

13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013 2/19

Page 3: Teaching Java with the assistance of harvester and pedagogical agents

The goal

Develop an adaptive and intelligent web-based educational system

Incorporate different recommendation and scaffolding techniques in order to:- Increase motivation for learning - Suggest additional learning activities- Determine the optimal browsing pathways to students,

based on their different preferences and levels of knowledge

Our main objective is to adapt and personalize learning to the needs of a student as much as possible

13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013 3/19

Page 4: Teaching Java with the assistance of harvester and pedagogical agents

Segmented personalization

Currently, we are focused on the segmented personalization style of learning

Students are grouped into smaller, identifiable and manageable clusters, based on their preferences, survey results, and common attributes (e.g. class and age)

Instructions are tailored to these groups, and are applied in the same or similar way to all members within a single group

13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013 4/19

Page 5: Teaching Java with the assistance of harvester and pedagogical agents

Code completion tasks

The proposed system relies on the code completion tasks to assess the student’s progress

The student is given a code snippet with some parts missing

He/she is then requested to complete the code in order to meet the program specification

Code completion tasks are well-suited for both testing and improving the student’s programming skills, because they require a thorough understanding of the underlying programming concepts

13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013 5/19

Page 6: Teaching Java with the assistance of harvester and pedagogical agents

Software agents

One of the most consistent approaches to distributed computing

Autonomous software entities

Various degrees of intelligence

Capable of exhibiting reactive and pro-active behavior

More complex agent architectures incorporate mental attitudes, such as beliefs, desires, and intentions

13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013 6/19

Page 7: Teaching Java with the assistance of harvester and pedagogical agents

Incorporating agents into e-learning

For the purpose of this research, we distinguish two types of agents:

- Pedagogical agents: engage, motivate, and guide students through the learning process

- Harvesters: collect learning material from, often, heterogeneous learning resources

Additionally, we introduce two specialized sub-types of pedagogical agents: helpful and misleading

13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013 7/19

Page 8: Teaching Java with the assistance of harvester and pedagogical agents

Agenda

Introduction and background Harvesting learning material Helpful and misleading pedagogical agents Current and future developments

13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013 8/19

Page 9: Teaching Java with the assistance of harvester and pedagogical agents

System overview

13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013 9/19

Page 10: Teaching Java with the assistance of harvester and pedagogical agents

Harvesting learning material

Harvesters: agents that collect learning material from heterogeneous repositories

With the abundance of programming examples available on the web, harvester agents have been embodied in web crawlers

To optimize the harvesting process, crawlers rely on a number of agent-based concepts, including inter-agent communication, mobility, etc.

13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013 10/19

Page 11: Teaching Java with the assistance of harvester and pedagogical agents

Classifying the source code

An important feature of the proposed system is that it enables teachers to work with only a sub-set of the harvested learning material at a time

This is important because a large pool of Java source code examples may be collected

The Classifier module automatically associates each Java source code example with a concrete lecture topic- E.g. “for-loops”, “classes and interfaces”, “inheritance”

13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013 11/19

Page 12: Teaching Java with the assistance of harvester and pedagogical agents

Agenda

Introduction and background Harvesting learning material Helpful and misleading pedagogical agents Current and future developments

13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013 12/19

Page 13: Teaching Java with the assistance of harvester and pedagogical agents

Pedagogical agents

Lifelike characters presented on a computer screen that guide users through multimedia learning environments

One of the main characteristics of pedagogical agents is interactivity- They not only provide answers and additional learning

material, but also ask questions and propose solutions

The agents track a set of information about the student, including the ratio of correct and incorrect solutions to each code completion problem, student's grade for each lecture topic, etc.

13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013 13/19

Page 14: Teaching Java with the assistance of harvester and pedagogical agents

Useful and misleading agents

The helpful pedagogical agent, as expected, provides useful hints for the problem in question

The purpose of the newly introduced misleading agent is to try and steer the learning process in the wrong direction

Both agents are hidden behind the same interface- The student is never sure with which agent (s)he is

interacting This novel approach encourages students not to follow the

agent’s/tutor’s instructions blindly, but rather to employ critical thinking and, in the end, they themselves decide on the proper solution to the problem in question

13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013 14/19

Page 15: Teaching Java with the assistance of harvester and pedagogical agents

Useful and misleading hints – example 1

for (int i = ?; i < 10; i++){}”What should be the starting index? Remember that the first element of the Fibonacci sequence has the index 0, while the expression for calculating other elements is fi = fi−1 + fi−2”

for (int i = ?; i < 10; i++){}”What should be the starting index? Hint: the first element of the Fibonacci sequence is often denoted as f0”

13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013 15/19

Page 16: Teaching Java with the assistance of harvester and pedagogical agents

Useful and misleading hints – example 2

”To calculate the area, you need width and height, both of which are available as fields. Remember that a method can access its object’s fields without limitations!”

”To calculate the area, you need both width and height. Make sure your method has access to these values!”

13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013 16/19

Page 17: Teaching Java with the assistance of harvester and pedagogical agents

Agenda

Introduction and background Harvesting learning material Helpful and misleading pedagogical agents Current and future developments

13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013 17/19

Page 18: Teaching Java with the assistance of harvester and pedagogical agents

The Acra (sub-)project https://code.google.com/p/acra-project/ Harvester agents implemented as distributed web

crawlers (Java, RMI, GWT, GAE) Apache License 2.0 Web app:

http://acraweb.appspot.com/

13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013 18/19

Page 19: Teaching Java with the assistance of harvester and pedagogical agents

Integration into Protus Protus – PRogramming TUtoring System Uses principles of learning style identification and content

recommendation for course personalization, utilizing Semantic web technologies

Described in details at the 12th Workshop “Software Engineering and Reverse Engineering”

Session monitor

Application module

Adaptation module Domain module

Learner model

Learner’s interface(interface ontology)

Server side of systemLearner model

ontology

Domain ontology

Task ontology

Teacher’s interface

Teaching strategy ontology

Communication ontology define conection between components

13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013 19/19

Page 20: Teaching Java with the assistance of harvester and pedagogical agents

Thank you for your attention

Questions?

Suggestions?

20/1913th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013