Teaching Java with the assistance of harvester and pedagogical agents

Slides:



Advertisements
Similar presentations
Web Passive Voice Tutor: an Intelligent Computer Assisted Language Learning System over the WWW Maria Virvou & Victoria Tsiriga Department of Informatics,
Advertisements

Agent-Based Architecture for Intelligence and Collaboration in Virtual Learning Environments Punyanuch Borwarnginn 5 August 2013.
Ch 3 System Development Environment
SAISD’s Model for Mastery Learning “Based on the work of Madeline Hunter”
Chapter 10 Teaching and Learning Strategies
Cooperative/Collaborative Learning An Instructional technique in which learning activities are specifically designed for small interactive groups Collaborative.
8th Workshop "Software Engineering Education and Reverse Engineering", Durres RFAgent – an eLearning Supporting Tool Asya Stoyanova-Doycheva University.
Agent-based Interfaces Group 3 Topic 2 IM2044 Usability engineering Hasuk Kerai Ismael Ali.
Developing Intelligent Agents and Multiagent Systems for Educational Applications Leen-Kiat Soh Department of Computer Science and Engineering University.
Tutorial of Instructional Design
OBJECT ORIENTED PROGRAMMING IN C++ LECTURE
INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska.
ICT TEACHERS` COMPETENCIES FOR THE KNOWLEDGE SOCIETY
Semantic Web Technologies Lecture # 2 Faculty of Computer Science, IBA.
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
OO Analysis and Design CMPS OOA/OOD Cursory explanation of OOP emphasizes ▫ Syntax  classes, inheritance, message passing, virtual, static Most.
1 USING EXPERT SYSTEMS TECHNOLOGY FOR STUDENT EVALUATION IN A WEB BASED EDUCATIONAL SYSTEM Ioannis Hatzilygeroudis, Panagiotis Chountis, Christos Giannoulis.
Lesson Planning. Teachers Need Lesson Plans So that they know that they are teaching the curriculum standards required by the county and state So that.
CE0825 Object-Oriented Programming 2 © Allan C. Milne Abertay University v
© 2007 Tom Beckman Features:  Are autonomous software entities that act as a user’s assistant to perform discrete tasks, simplifying or completely automating.
Mike, Ruhi, Monisha, Masa Stanford University ED 391 EPGY Final Presentation.
Knowledge of Subject Matter OCPS Alternative Certification Program.
Multiagent System as an intelligent assistant tool in Sakai Diego del Blanco Orobitg Fernando Olivares Fernández UPA Universidad Politécnica de Valencia.
COURSE OUTLINE. COURSE OBJECTIVE Students will learn the following Basic concept of knowledge management Knowledge management technology Creativity Process.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
1 Granular Approach to Adaptivity in Problem-based Learning Environment Sally He, Kinshuk, Hong Hong Massey University Palmerston North, New Zealand Ashok.
Reading Strategies To Improve Comprehension Empowering Gifted Children.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
Integration of Workflow and Agent Technology for Business Process Management Yuhong Yan. Maamar, Z. Weiming Shen Enterprise Integration Lab.Toronto Univ.Canada.
August 30, th Workshop Software Engineering Education and Reverse Engineering1 Distributed Network Applications Development -- Educational Experiences.
Digital Libraries1 David Rashty. Digital Libraries2 “A library is an arsenal of liberty” Anonymous.
Agent Overview. Topics Agent and its characteristics Architectures Agent Management.
Bloom’s Taxonomy The Concept of “Levels of Thinking”
Tutoring & Help Systems Deepthi Bollu for CSE495 10/31/2003.
Course Work 2: Critical Reflection GERALDINE DORAN B
Human Computer Interaction Lecture 21 User Support
Presenters: Wei-Chih Hsu Professor: Ming-Puu Chen Date: 12/18/2007
Lesson Plan Creating a lesson plan week5.
Object Oriented Programming
NORTH CAROLINA TEACHER EVALUATION INSTRUMENT and PROCESS
IS301 – Software Engineering V:
Chapter 1 Designing e-learning.
CSC 221: Computer Programming I Fall 2005
Introduction to Standard Deviation
Workshop: Contextualizing Language in the English Classroom
Focus Element Helping Students Examine Similarities and Differences
Software Support Framework
Reference: COS240 Syllabus
Principles of Learning
University of Colombo School of Computing, Colombo, Sri Lanka
Integration of ICT in teaching and learning
EDU 320 Competitive Success-- snaptutorial.com
EDU 320 Education for Service-- snaptutorial.com
EDU 320 Teaching Effectively-- snaptutorial.com
Strategies and Techniques
Submitted By: Usha MIT-876-2K11 M.Tech(3rd Sem) Information Technology
Audience Analysis Phillip G. Clampitt, Ph.D. 11/27/2018.
The Behavior of Tutoring Systems
Building Academic Language
Focus Element Helping Students Record and Represent Knowledge
Study group #5 Distance learning enhanced by technology
Semantic Web Towards a Web of Knowledge - Projects
COM 205 Multimedia Applications
Building Academic Language
Topic 1: Introduction to the Module and an Overview of Agile
UDL Guidelines.
Chapter 4 Instructional Media and Technologies for Learning
Personalization Personalized System Traditional System 3 2 1
DIFFERENTIATED INSTRUCTION USING ASSESSMENT EFFECTIVELY.
UML Design for an Automated Registration System
Presentation transcript:

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 13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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” 13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013

Thank you for your attention Questions? Suggestions? 13th Workshop “Software Engineering and Reverse Engineering”, Bansko, Bulgaria, Aug. 26 – 31, 2013