1 / 66

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

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

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Visualization based Intelligent Tutoring System (ITS) for Greedy Algorithms: GATutor By MeenakshiVerma Mukund Lahoti Guided By: Prof. S.R. Iyer

  2. 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.

  3. 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.

  4. MOTIVATION • Every student is always perturbed by the question[7]: • 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.

  5. Demo

  6. RELATED WORK-Different Algorithm Tutor Systems that already exist

  7. 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.

  8. 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 • 2. Executing it step wise • 3. program pad

  9. 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

  10. 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.

  11. 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. • They basically have not build their own system.

  12. 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.

  13. 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)

  14. 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).

  15. 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").

  16. FRAMEWORK

  17. System Modules Evolving a theoretical framework on which the system will be designed -meenakshi Login module and Statistical Analysis Module-mukund Implementation of Kruskal’s Algorithm, Knapsack Problem-mukund Implementation of Prim’s, Activity Selection Algorithm and Dijkstra’s-meenakshi

  18. DETAIL DESIGN

  19. 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.

  20. 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.

  21. Screenshot stat1

  22. 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.

  23. Screenshot Stat2

  24. Screenshot Stat3

  25. Technologies used • 1.JSP • 2.CSS3 • 3.SVG • 4.JavaScript • 5.jQuery • 6.Mysql database

  26. Technologies Used • 1.JSP • 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.

  27. JSP

  28. CheckUser

  29. Technologies used • 2.CSS3 • For styling of the webpage css is used. • A base template was taken from free sources then it was tweaked for our purpose.

  30. 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.

  31. JavaScript • JavaScript is used for client side programming. • 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.

  32. 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.

  33. 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.

  34. 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.

  35. 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.

  36. 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.

More Related