Title: Tutoring System for Programming Algorithm Learning
1Tutoring System for Programming Algorithm Learning
CHICO Group Department of Technologies and
Information Systems Castilla La Mancha
University (Spain)
2Francisco Jurado Monroy
- Position in CHICO Doctoral student
- Position in UCLM Grant holder of the Junta de
Comunidades de Castilla La-Mancha - Maximum Degree Computer Science Engineer
- Research Lines
- eLearning standards
- Distributed Intelligent Tutoring Systems for
programming learning - Possible Research Stays YES with Funding.
3Outline
- Research motivation
- Architectural approach
- System implementation
- Student cognitive model
- Instructional model
- Artefact model
- Process model
4Research motivation
- Programming learning is an important subject for
the students of computer science. - Students must acquire knowledge and abilities
which will deal with their future programming
work for solving real problems - Students have to solve several difficulties
Brusilovski et al., 1998, Gomes Mendes,
1999.
Brusilovsky et al.,1998 Brusilovsky, P.
Calabrese, E. Hvorecky, J. Kouchnirenko, A.
Miller, P. (1998) 'Mini-languages a way to
learn programming principles', Education and
Information Technologies 2, pp. 65 -83. Gomes
Mendes, 2002 Gomes, A. A.J., M. (2001)
Computers and Education in an Interconnected
Society, Kluwer Academic Publishers, chapter
SICAS Interactive system for algorithm
development and simulation, pp. 159-166.
5Architectural approach
Student Cognitive Model (Uncertainty)
Instructional Model (Learning Design)
ITS
Particular case (PBL for programming learning)
Change
Artefact Model (Imprecision)
Process Model (Work flow)
Solution
Standard eLearning services integration
6System implementationIMS-AF with ICE (I)
- Prerequisites
- Heterogeneity and distribution of services and
devices - Application in several educational and
computational eLearning paradigms (Virtual
Learning, Blended Learning, Mobile Learning,
ubiquitous educational environments, etc.) - Require the middleware to be independent from
- operating system
- hardware device
- programming language.
- Our proposal
- Implementing IMS-Abstract Framework using ICE
(Internet Communication Engine) Jurado et al.,
2007
Jurado, F., Redondo, M.A. Ortega, M. Enabling
distributed eLearning environments integrating
ICE-based services. In Proceeding of the
International Technology, Education and
Development Conference INTED2007, Valencia,
Spain(2007)
7System implementationIMS-AF with ICE (II)
- ICE (Internet Communication Engine)
- Their authors tried to build a middleware
platform that is as powerful as CORBA, without
making all of CORBA mistakes. - Object-oriented middleware
- Independent
- From the programming language
- Slice (Specification Language for ICE)
abstraction to separate interfaces of the objects
from implementation. - Mapping from Slice to C, Java, C, Visual Basic
.NET, Python, and PHP - From the platform
- Implementations for different architectures and
operating systems. - Services and tools to facilitate the construction
of heterogeneous distributed systems.
8Student cognitive model Bayesian network
- Bayesian Networks (BN)
- Allows the process of uncertainly
- Suitable in diagnostic situations, that is, it
allows that given an evidence (known values for
a set of variables), the subsequent probability
for the non observed variables can be calculated.
This is known as evidence propagation.
9Student cognitive model Bayesian network
- Three layers
- Subjects (Si)
- Chapters (Chj)
- Concepts (Ci)
- Get the evidence
- Problems (Pk) that teacher porpoise to students.
Relations will go from the concepts nodes to the
subject nodes Ci?Tj?A.
10Instructional modelIMS-LD
- Allow specify instructional strategies
- Theatre metaphor
- Method is divided in play elements
- Play elements contain several acts
- Roles
- Activities learning activities, support
activities, structure activities - Environment
11Cognitive model Instructional model
- IMS-LD can be used for developing adaptive
learning (AL) Towel Halm, 2005 - LD enriched with variables from student profile
- Conditions to show/hide learning activities to a
specific student - Example
- IF student(Knowledge, less-than, 5)
- THEN hide activity A1 and show activity A2
- ELSE show activity A1 and hide activity A2
Towel, B. Halm, M. (2005) Learning design A
handbook on modelling and delivering networked
education and training. Springer-Verlag, chapter
12 - Designing Adaptive Learning Environments
with Learning Design, pp. 215-226.
12Cognitive model Instructional model
- In our architecture
- The variables used for defining the adaptation
rules, are obtained from the student model
represented with BN. - In programming learning, the evidence nodes must
obtain its value from the artefact (algorithm)
developed by the student.
13Artefact model algorithm analysis with fuzzy
logic (I)
- Comparing the artefact (algorithm) developed by
the student with that specified by an expert
(teacher). - It is necessary to have a way for representing
the approximate ideal algorithm that the expert
(the teacher) estimates for solving a certain
problem. - The algorithm that the student has written will
be compared with that approximate ideal
representation. - Techniques of code similarities analysis
- Algorithm that the student has written is better
whatever nearer to the approximate ideal
representation for the solution of the problem. - Our proposal Use Fuzzy Logic
14Artefact model algorithm analysis with fuzzy
logic (II)
Ideal Approximated Algorithm Fuzzy Representation
Degree of membership with the fuzzy set
Metrics calculation
Metrics calculation
Writes
Writes
Algorithm that solves the problem
Algorithm for trying to solve the problem
Teacher
Student
Jurado, F. Redondo, M.A. Ortega, M. (2007)
Representación difusa de algoritmos para su
aplicación en sistemas tutores inteligentes
orientados al aprendizaje de la programación, in
'EATIS'07 ACM-DL Proceedings', Association for
Computing Machinery, Inc (ACM) (Acepted).
15Artefact model working environment
Metrics view tab
Working file
Metrics calculated for each method
Actions over the selected method
Working method
16Process model
- Steps the student has made till reaching the
final solution - A log with
- Changes made to the code that implements the
algorithms - Software metrics
- List of errors and warnings returned by the
compilation process - Acquiring knowledge from information
- Automatic machine learning techniques
- Data mining, fuzzy logic rules extraction, etc.
17Tutoring System for Programming Algorithm Learning
Thank you for your attention
CHICO Group Department of Technologies and
Information Systems Castilla La Mancha
University (Spain)