66
based Intelligent Tutoring System (ITS) for Greedy Algorithms: GATutor By Meenakshi Verma Mukund Lahoti Guided By: Prof. S.R. Iyer

Visualization based Intelligent Tutoring System (ITS) for Greedy Algorithms: GATutor

Embed Size (px)

DESCRIPTION

Visualization based Intelligent Tutoring System (ITS) for Greedy Algorithms: GATutor. By Meenakshi Verma Mukund Lahoti. Guided By: Prof. S.R. Iyer. INTRODUCTION. - PowerPoint PPT Presentation

Citation preview

Visualization based Intelligent Tutoring System (ITS) for Greedy AlgorithmsBy
INTRODUCTION
We have presented a framework for effective teaching of greedy algorithms and implemented that framework as an Intelligent Tutoring System to prove its usage named as GATutor.
NEED
Earlier Algorithms have been taught in schools in a passive way.
Researchers want teaching to become more interesting.
To do so it is require to visualize algorithms and make students play with it[3].
It is necessary to guide them at each step so that they do not divert from right path.
Greedy algorithms are the most common design techniques. Though they are simple but their learning objectives demand tough teaching.
MOTIVATION
Yes the solution seems to work,
it appears to be correct;
but how is it possible to invent such a solution?
How could I invent or discover such things by myself?
According to us with some pre-requisite knowledge, stimulating questions, providing hints can help a student to bring an algorithm right from scratch.
Demo
GREED-EX SYSTEM[4]
It is a algorithm tutor based on discovery learning approach
This system mainly focuses on greedy algorithms.
It teaches two greedy algorithms-Activity selection problem and Knapsack.
They uses a didactic method to teach greedy algorithms. The didactic method asks the student to could characterize an optimal greedy algorithm for a given optimization problem.
There has been no guided approach followed by them.
It might be possible that sometimes student might get mislead if he does get right direction.
They have also not given any questions on which student can be assessed. Main features of this system are students discover by himself, results table and history is provided to compare different functions.
ALGO-TUTOR SYSTEM[9]
Algo-Tutor contains Visual Algorithm Tracer and Program Pad embedded in it.
It is a basic tutor which encourages learning programming through algorithmic design.
It teaches students basic programs including while loop, for loop. It was tested over a group of students.
The results were significant. It stated that teaching programming through algorithmic approach is beneficial rather than just making them learn for and while loops. It gives a option of drag and drop through which student can construct a new algorithm using some pre code generated by the student.
It basically consist of three components as
1. building the algorithm
3. program pad
ANIMAL SYSTEM[8]
It uses animation to visualize algorithm with simultaneous code view provided.
As the system is not interactive with the user, it make it somewhat bore.
It supports Backtracking algorithms, Compression algorithms, Cryptography algorithms, Data structures, Graph algorithms, Graphics algorithms, Hashing algorithms, Mathematics which is a good collection.
But providing only animations of algorithms cannot seek the attention of a student for a longer and it is also difficult to enhance their learning process and to check whether they have learned it or not
JHAVE SYSTEM[6]
It aims to animate algorithms which concludes that visualization of a algorithm increases its understanding rather than just reading the code of it.
They are not interactive with student which makes it a little boring as student can get diverted while working on it.
It supports many algorithms including graphs, Sorting, Hashing and miscellaneous.
ALGOVIZ SYSTEM[1]
It contains animation of Algorithm and a portal where a collection of links to algorithm visualizations exists.
It Integrates many algorithm visualization systems.
Only animation is included.
Teaching Strategies of Other Systems
Many algorithms tutor exist but some mainly focus on theoretical material(JHAVE) while other mainly focuses on visualization of the algorithm(ANIMAL).
There does not exist any system which checks learning of the student at each phase.
The GreedEx system focuses on Discovery learning and uses the concept of discovering optimal selection function by experimentation approach but other learning goals have not been taught such as to give the proof of wrong choice.
Mainly systems focuses on animation of the greedy algorithms(algoviz).
There exist no system which focuses on interactive learning of greedy algorithms and help in giving the proof of wrong selection functions. System also implement only understand and analyze level of Bloom’s Taxonomy.
Our Teaching Strategy-1
A rule based framework for teaching greedy algorithms.
Our system follow recall, understand, apply, analyze and evaluate level of Bloom's taxonomy[4] .
1. Basic understanding of what are greedy algorithms(Understanding level)
2. Understanding of specific greedy algorithms(Understanding level)3. Analyzing which selection function is optimal(Analyze level)
4. Proving its optimality by showing counter examples for non-optimal functions(evaluate level)
5. Solving different such problems(Apply level)
Our Teaching Strategy-2
We are using guided discovery learning approach.
There have been many variations of definition of discovery learning[2]. Discovery learning occurs whenever the learner is not provided with the target information or conceptual understanding and must understand it independently and with only the provided materials.
Within discovery-learning methods, there is an opportunity to provide the learners with intensive or, conversely, minimal guidance, and both types can take many forms (e.g., manuals, simulations, feedback, ex-ample problems).Sweller reported that a better alternative to Discovery Learning was Guided Instruction.(Kirschner, Sweller, Clark, 2006).
Our Teaching Strategy-3
Guided Instruction produced more immediate recall of facts than unguided approaches along with longer term transfer and problem-solving skills as per Sweller.
Support for the regulation the learning process in discovery learning includes various measures:
1. Model progression, such as step-by-step model expansion (e. g. expanding the complexity of the model).
2. Planning support (e. g. using guiding questions, quests or even assignments).
3. Monitoring support (e. g. show what has already be done in the simulation)
4. Structuring the discovery process (e. g. providing students with a sequenced structure such as "set-up, do, reflect").
FRAMEWORK
Visualize satisfying condition
Again select option
Evolving a theoretical framework on which the system will be designed
-meenakshi
Implementation of Prim’s, Activity Selection Algorithm and Dijkstra’s-meenakshi
Login module and Statistical Analysis Module-mukund
System Modules
System Modules
Login module and Statistical Analysis Module
Evolving a theoretical framework on which the system will be designed
Implementation of Prim’s, Activity Selection Algorithm and Dijkstra’s
Implementation of Kruskal’s Algorithm, Knapsack Problem
DETAIL DESIGN
Text Book Material not suffice
2. Passive way of teaching
3. Student just rode them
4. Difficult for them to construct a new algorithm by themselves
LOGIN AND STATISTICAL ANALYSIS
New users are supposed to sign up before using the system.
A Sign up jsp page is created to take user input.
A servlet takes this input and stores in a mysql database through jdbc.
No part of the user input is directly used as an Sql command
Registered users login into the system.
A CheckUser servlet verifies user credentials in the database and redirects accordingly.
Checking into the database is with limited privileges for further security.
Instructor or admin can also log in to view activities of the users..
This is further explained in detail.
Statistics
Instructor can check the overall progress of class and also detailed progress of each student.
Overall progress of the class shows statistics like how many students have registered for this system, how many have attempted it, how many have completed doing the work.
Instructor can also view email-ids of all the users.
Instructor can choose for the detailed progress of any student.
Screenshot stat1
Statistics
Here instructor can see the no. of parts of the tutor completed by the user.
Instructor also sees the flow of student through the system.
This tells him the misconceptions in the mind of student.
Screenshot Stat2
Screenshot Stat3
Technologies used
All the web pages are java servlet pages.
All pages contain an inline header to send the details to mysql database.
The details that get entered include the user who is browsing the page and the date at which it is browsed.
For logging in and registering new user a form field is used which gives the user input to CheckUser and SaveUser servlet.
They connect the database through jdbc drivers.
JSP
CheckUser
For styling of the webpage css is used.
A base template was taken from free sources then it was tweaked for our purpose.
SVG
Scalable Vector Graphics are used for making puzzle drawings.
They are lightweight and do not require any settings on the part of browser for them to run.
They are based of pathElements which can be accessed by JavaScript objects.
Their attributes can easily be changed for our need on the client side itself.
JavaScript
For this JavaScript must be enabled in browsers.
JavaScript according to user input like mousehover or mouseclick changes the attributes of svg elements.
It is also used for making timer or time limit within which the puzzle is to be solved.
Overall client side interactivity is managed by JavaScript.
jQuery
jQuery is used for making the quiz module.
Styled progress bars were tweaked for our purpose available from the open sources.
jQuery was used as it serves many purposes like
Student cannot jump to any random question by just observing the url pattern and then by manually typing that pattern.
The calculation of the marks on the server side without user control and without the use of database.
MySql
MySql is used to serve as a database on the server side.
The connection to it is through a secured user with limited privileges. So it cannot be manipulated through the client side.
Two tables are maintained one for the registered members and other for keeping the log.
No part of the user input is made a direct sql command to prevent any sql injections.
Color Scheme
To maintain the consistency and to be able to relate to the user's sub-conscious mind a color coding scheme is followed throughout.
Click-ability feature
All the svg images are made clickable wherever possible, to come to an answer user has to click on appropriate parts of the image.
Thus user is not just sitting and watching some "movie" but is actually doing the things.
Finding Satisfying Condition
Explanation of Satisfying Condition along with choices provided which are close to what a user can think.
User has to select one of them, and is visualized according to his/her respective choice.
Finding Optimal Selection Criteria
We want student to find the optimal selection criteria by himself.
This will not make learning boring as student himself will have to discover the optimal function apart from the fact that he will be guided if he goes to the wrong path.
To make the design process explicit, we list some selection functions initially and ask learner to discover the optimal one.
Visualization of Contradicting Examples
1. A controller has been provided which will visulaize the wrong functions based on the user input.
2. It helps in finding the proof of wrong functions and will help in removing common misconceptions from user's mind.
REAL LIFE EXAMPLE
Implementation
We took 20 students, from B.tech 2nd year from IIT Bombay who were not knowing about this algorithm before.We asked them to ll a survey form to evaluate our system on dierent parameters.
Sample
Our sample is B.tech 2nd year students as design and analysis of algorithms is taught in 2nd year of B.tech.
Data Collection
1. Survey
• Test Score
• 4 point likert scale
2. we interacted with student to know their general view about the system.
Data Analysis
1. Survey
Test Score - is used to identify whether student has learned the algorithm or not.
Attempts - helpful to infer that in how many attempts was student able to learn
and perform.
Open ended Feedback - we qualitativly analysed the text in consultation with
education technology researchers to verify the quotes that we obtained from the
qualitative analyses.
4 point likert scale - We have used it to deduce inferences.
2. we interacted with student to know their general view about the system.
Results
Following are the inferences we drawn from the qualitative analysis:
Intelligent Tutoring System has been effective in learning as students were able to understand the algorithm as they answered and can be deduce from the test results.
ITS was interesting as students and it to be fun working with it.
It build up confidence in students to apply same algorithm in other example also.
Student would like to study other topics also in these kind of ITS as it helps in fast learning, teaches more in less time, easy to learn and interesting.
It increases the understanding of how to approach a problem.
It was beneficial as it is good to learn new things from basics, better than class passive ways.
Re-attempts embedded in the test has been proved useful as almost all have improved their score using that.
Interface
Content was crisp and attracting user's attention as well.
Using it, understanding was developed in gradual manner giving answers to all the questions in mind.
The improvements suggested to us are:
The arrows were taking time to click as they were thin.
More theory should be embedded.
In Quiz, option to jump to other questions should be provided.
Usability Evaluation
Implementation
We have used System Usability Scale(SUS) to measure the usability of the system.We took 20 Btech 2nd year students for testing our system.
SAMPLE
We took 20 students, from B.tech 2nd year from IIT Bombay who were not knowing about this algorithm before.We asked them to ll a survey form to evaluate our system on dierent parameters.
DATA COLLECTION
We asked the students to ll System Usability Scale(SUS) question are based on 4 point likert scale that is Strongly agree, Agree, Disagree and Strongly Disagree. Following were the questions[11]:
1. I think that I would like to use this system frequently.
2. I found the system unnecessarily complex.
3. I thought the system was easy to use.
4. I think that I would need the support of a technical person to be able to use this system.
5. I found the various functions in this system were well integrated.
6. I thought there was too much inconsistency in this system.
7. I would imagine that most people would learn to use this system very quickly.
8. I found the system very cumbersome to use.
9. I felt very condent using the system.
10. I needed to learn a lot of things before I could get going with this system.
Challenges:
Effective
Interesting
Results:
SUS score was 86.8
From the graphs we can gure out students would like to use the system for other topics also and would prefer to use this system for studying algorithms. System was overall easy to use and user friendly which can be depicted from questions 2 and 3.The system can be used independently and it was homogeneous too. It increased students understanding of a the topic
Future work and Conclusion
Our system to teach Greedy Algorithms to students through visualization is ready. It contains most of the popular greedy algorithms.
We have used the approach of guided discovery learning along with a interactive interface which makes this system unique in the area of Computer Science.
Through Pilot experiments conducted in rst phase of this project, we were able to detect the minor faults which existed in the system and it helped us to make the system more eective.
We tested the system on a bunch of students to know its eectiveness and we were proved right. The system is eective overall in teaching greedy algorithms in an active way. In near future, we would like this system to contain almost all popular algorithms of computer science with this general framework.
It would be really helpful for students to study from this system as they will gain condence while working on this system as it will make them feel that they themselves have explored the algorithm.
Bibliography
AlgoViz.org. ”the algorithm visualization portal,” http:// algoviz.org/, 2012.
Louis Aleri Patricia J. Brooks and Naomi J. Aldrich Harriet R. Tenenbaum Kingston University City University of New York. ”does discovery-based instruction enhance learning?”.
M. Ashraf Iqbal and Sara Tahir. ”does discovery-based instructions should we teach algorithms?,iranian journal of electrical and computer engineering, vol . 2, no. 2, summer- fall 2003”.
IEEE Computer Society J. Angel Velazquez-Iturbide, Member. ”greedex: A visualization tool for experimentation and discovery learning of greedy algorithms”.
I Escuela Tcnica Superior de Ingeniera Informtica Universidad Rey Juan Carlos C/ Tulipn s/n 28933 Mstoles Madrid Spain J. ngel Velzquez-Iturbide Departamento de Lenguajes y Sistemas Informticos. ”the design and coding of greedy algorithms revisited”.
Bibliography
T.L. Naps. ”jhave: Supporting algorithm visualization,” ieee computer graphics and applications, vol. 25, no. 5, pp. 49-55, sept. 2005.
Polya. ”how to solve it; a new aspect of mathematical method ,princeton university press, 1988.”.
G. Roling and B. Freisleben. ”animal: A system for supporting multiple roles in al- gorithm animation.” j. visual languages and computing, vol. 13, no. 2, pp. 341-542, 2002.
[Jungsoon Yoo Chrisila Pettey Suk Seo and Sung Yoo Middle Tennessee State University USA. ”teaching programming concepts using algorithm tutor”.
[J.A. Velazquez-Iturbide, A. Perez-Carrasco Proc. 14th Ann. Conf. Innovation, and 2009. Technology in Computer Science Education (ITiCSE 09), pp. 119-123. ”active learning of greedy algorithms by means of interactive experimentation”,.
en.wikipedia.org/wiki/System_usability_scale
java.util.Date().getTime());
access) " +
"VALUES(
java.util.Date().getTime());
access) " +
ps.setString(1, s1);
ps.setString(2, s2);
ps.setString(1, s1);
ps.setString(2, s2);
== 0) {
var ans = jQuiz.userAnswers = [];
ans.push(arr[i].getAttribute('id'))
{
is ' + results[i] + '</div>'
$('#resultKeeper').html(resultSet).show();
== 0) {
var ans = jQuiz.userAnswers = [];
ans.push(arr[i].getAttribute('id'))
{
is ' + results[i] + '</div>'
$('#resultKeeper').html(resultSet).show();
</html>"+"<br><br>");
String query = "select count(*) from (select distinct
case when page like 'k%' then 'k' when page like 'g%' then 'g'
when page like 's%' then 's' when page like 'd%' then 'd' end
from log where userid=?) x;";
PreparedStatement ps = con.prepareStatement(query);
"+total_did);
</html>"+"<br><br>");
String query = "select count(*) from (select distinct
case when page like 'k%' then 'k' when page like 'g%' then 'g'
when page like 's%' then 's' when page like 'd%' then 'd' end
from log where userid=?) x;";
PreparedStatement ps = con.prepareStatement(query);
"+total_did);