Intelligent Tutoring Systems

Slides:



Advertisements
Similar presentations
User Interface Structure Design
Advertisements

M2 – Explain the tools and techniques used in the creation of an interactive website. By Arturas Vitkovskij.
ABSTRACT The goal of this project was to create a more realistic and interactive appliance interface for a Usability Science class here at Union. Usability.
Microsoft Excel Mania Brian Kovar and Stacy Kovar.
St Testing, Simulation and Monitoring (actually mostly simulation) Stephen Hillier Joint Meeting, Mainz, June 2001.
1 CS101 Introduction to Computing Lecture 19 Programming Languages.
Databases From A to Boyce Codd. What is a database? It depends on your point of view. For Manovich, a database is a means of structuring information in.
EasyBoard Share schedule and ideas in a twinkle. EasyBoard Goals Application features Technologies used Schedule Problems that we can meet Questions?
Moodle (Course Management Systems). Assignments 1 Assignments are a refreshingly simple method for collecting student work. They are a simple and flexible.
CS101 Introduction to Computing Lecture Programming Languages.
Databases From A to Boyce Codd. What is a database? It depends on your point of view. For Manovich, a database is a means of structuring information in.
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Marie desJardins University of Maryland, Baltimore County.
Introduction of Geoprocessing Topic 7a 4/10/2007.
240-Current Research Easily Extensible Systems, Octave, Input Formats, SOA.
Introduction of Geoprocessing Lecture 9. Geoprocessing  Geoprocessing is any GIS operation used to manipulate data. A typical geoprocessing operation.
20081 Converting workspaces and using SALT & subversion to maintain them. V1.02.
Introduction of Geoprocessing Lecture 9 3/24/2008.
Interactive Mysteries in PowerPoint These slides will introduce you to the tools you need to use in PowerPoint or any similar software (eg OpenOffice Presenter)
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
Web Programming Java Script-Introduction. What is Javascript? JavaScript is a scripting language using for the Web. JavaScript is a programming language.
Fuel Cell Modeling Albert Wong. Background and Objectives  To produce a easy to use user interface for modeling the fuel used in a fuel cell.  Port.
Advanced Higher Computing Science The Project. Introduction Worth 60% of the total marks for the course Must include: An appropriate interface using input.
Programming Paradigms, Software Architectural Patterns, and MVC CS 378 – Mobile Computing for iOS Dr. William C. Bulko.
JavaScript Part 1 Introduction to scripting The ‘alert’ function.
Advanced Higher Computing Science
Building Dashboards with JMP 13 Dan Schikore SAS, JMP
Coach Route Searching System
Introduction To DBMS.
Design Patterns Source: “Design Patterns”, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides And Created.
Component 1.6.
Algorithms and Problem Solving
Working in Groups in Canvas
D.Y.O. Web The new and easy way to create and maintain your own professional dynamic website.
Documentation Generators
CS 325: Software Engineering
GO! with Microsoft Office 2016
UNIT 3 – LESSON 5 Creating Functions.
CS101 Introduction to Computing Lecture 19 Programming Languages
Haritha Dasari Josue Balandrano Coronel -
Testing & Testing Tools
Introduction CSE 1310 – Introduction to Computers and Programming
An educational system for medical billers in training
Team Covalence TED LI COURTNEY NOH LOGAN SHORT EMMA TOWNLEY-SMITH.
Jason Chan, Gregory Williams
Principles of report writing
Design by Contract Fall 2016 Version.
Sussex Neuroscience Coding Club title slide
Continuous - Discrete Sampling Demo (CON2DIS) team
Discrete Convolution Demo
Unit# 9: Computer Program Development
5 Tips for Upgrading Reports to v 6.3
Honors Statistics Chapter 4 Part 2
Lecture 1: Multi-tier Architecture Overview
Lecture # 3 Software Development Project Management
LESSON 13 – INTRO TO ARRAYS
Fourier Series GUI Implementation.
Welcome ! Excel 2013/2016 Data Consolidation (Lab Format)
Microsoft Office Excel 2003
Unit 10 Arithmetic-logic Units
Algorithms and Problem Solving
This is where your university logo goes
RECHORDS Assignment #6: Med-Fi Prototype
Model, View, Controller design pattern
TI-NspireTM Version 2.1 Top 10
Selection Statements Chapter 3.
Lecture 13 Teamwork Bryan Burlingame 1 May 2019.
Web Programming and Design
Neal Kurande, WinaGodwin Anyanwu Jr., Adam Chau
Contract Management Software 100% Cloud-Based ContraxAware provides you with a deep set of easy to use contract management features.
Running & Testing Programs :: Translators
Presentation transcript:

Intelligent Tutoring Systems DLTI-2

Introductions ● William Wu ○ 3rd year CS major ○ Java, Python, React, HTML, CSS, JavaScript, SQL ● Camille Bossut ○ 2nd year CS major ○ Java, Python, C++, Arduino, Matlab ● Ting Qiu ○ Java, C, Python, SQL, Matlab, HTML ● Will Smith ○ Java, Python Introduce our team members. Introduce our the background of us. (new members to VIP, members have limited experience and knowledge about JavaScript and JSXgraph.) What we did this semester.(Improve on the DLTI lab, work together on GitHub)

Objective To improve user experience in the DLTI GUI used within the frequency response lab

Project Motivation Simple Easy access to GUIs without Matlab Learn how to use JavaScript and JSXgraph

How did we want to improve? Page layout Controller functionality Add Frequency and Phase graphs Add more Frequency Response filters Have a universal controller Post/Get GUI state

Progression and Details

Splitting up the work Option 1 : Front-end versus Back-end However, most of the GUI is front-end Different portions of code might be incompatible Option 2 : Different portions of the GUI Easier to group together Avoids conflicts when using version control tools like git Split up on type of work? (front-end vs. back end) Split up on part of work? (different portions of the GUI) Latter ended up being more helpful, though we did need some front-end specialization +screenshots of original gui and portions we could separate conceptually +ccl: probably should have done more theory stuff to have a better idea of what we could split up

Splitting up the work Graphs: Input and Output Camille Page Layout and Controllers William W. and Ting Will S. Graphs: Filter Phase and Magnitude Split up on type of work? (front-end vs. back end) Split up on part of work? (different portions of the GUI) Latter ended up being more helpful, though we did need some front-end specialization +screenshots of original gui and portions we could separate conceptually +ccl: probably should have done more theory stuff to have a better idea of what we could split up

Splitting up the work — original GUI Split up on type of work? (front-end vs. back end) Split up on part of work? (different portions of the GUI) Latter ended up being more helpful, though we did need some front-end specialization +screenshots of original gui and portions we could separate conceptually +ccl: probably should have done more theory stuff to have a better idea of what we could split up

Splitting up the work — original GUI Split up on type of work? (front-end vs. back end) Split up on part of work? (different portions of the GUI) Latter ended up being more helpful, though we did need some front-end specialization +screenshots of original gui and portions we could separate conceptually +ccl: probably should have done more theory stuff to have a better idea of what we could split up These graphs are similar, so a similar plotting function may be used for both

Splitting up the work — original GUI Split up on type of work? (front-end vs. back end) Split up on part of work? (different portions of the GUI) Latter ended up being more helpful, though we did need some front-end specialization +screenshots of original gui and portions we could separate conceptually +ccl: probably should have done more theory stuff to have a better idea of what we could split up These graphs use formulas given that we could plug into a JSX ‘curve’ object

Splitting up the work — original GUI Split up on type of work? (front-end vs. back end) Split up on part of work? (different portions of the GUI) Latter ended up being more helpful, though we did need some front-end specialization +screenshots of original gui and portions we could separate conceptually +ccl: probably should have done more theory stuff to have a better idea of what we could split up Controllers and general layout of the page can be reproduced without specific graph information

+ or How to approach the GUI Software options: Potential issues: Python and Flask Javascript and JSX Other? Potential issues: Graph communication Looking ahead, how can we save the GUI state to store it in a database + or Made aware from the start of difficulty making graphs ‘talk’ to each other, so we were careful to facilitate that

Matlab → JavaScript Parts of Matlab to recreate Graphing function easy and clean Can make stem plots Compatible with multiple graphs interacting Compatible with sliders Reproducing this using JSXGraph Graphing functionality is clean No inherent stem plot creator Might have difficulty getting a graph to recognize and interact with another graph What tools can we use? ++examples of differences in plotting : matlab is more built for this sort of thing so we had to learn how to JSX

JSXgraph Tools Points Curves and Segments Can input a function f(x) Can input x coords and y coords Segments constructed using two endpoints ++examples of differences in plotting : matlab is more built for this sort of thing so we had to learn how to JSX (here are the tools we learned about, how they work, how we used them

JSXgraph Tools Sliders Used to control variables → could be used in plotting curves Must be located on the graph Might cause issues if we need another graph to have access to slider values ++examples of differences in plotting : matlab is more built for this sort of thing so we had to learn how to JSX (here are the tools we learned about, how they work, how we used them

JSXgraph Tools Each segment is a curve, plotted using a loop. Can change number of samples in code, but not user modifiable Actual curve plotted to show where sample values are taken ++examples of differences in plotting : matlab is more built for this sort of thing so we had to learn how to JSX (here are the tools we learned about, how they work, how we used them

JSXgraph Tools Graphing a curve: Graphing segments: ++examples of differences in plotting : matlab is more built for this sort of thing so we had to learn how to JSX (here are the tools we learned about, how they work, how we used them

JSXgraph Tools Plotted using a ‘curve’ object in JSXgraph As we don’t actually know digital signal processing, we were able to get the formulas for these curves and functions abstracted out, to focus on actual GUI

HTML Tools Sliders Box input DropDown Can access these from javascript → multiple graphs can access their values Box input Allows user to input precise numbers (rounded to the nearest possible slider value) DropDown User can select which filter they want use on the input signal onchange property : when any of the above objects’ values are changed by the user, our graphs can update easily. ++examples of differences in plotting : matlab is more built for this sort of thing so we had to learn how to JSX

HTML Tools Text boxes for user input Current values displayed ++examples of differences in plotting : matlab is more built for this sort of thing so we had to learn how to JSX

HTML Tools Example of using onchange and onclick for a slider and text input ++examples of differences in plotting : matlab is more built for this sort of thing so we had to learn how to JSX

Graph Layout Decisions Ideas to maintain: Input and output graphs clearly visible Easy to select filter Formulas displayed Manipulatable variables Ideas to improve: Minimal scrolling between graphs Minimal update time Straightforward usability ++ screenshots of original matlab + snippets of our graphs Initial setup was a bit all over the place: hard to follow, non linear, and not set up as the old demo was Decided to try and stick to the original, as it made the different components’ purposes excessively clear. created layout independently of our graphs, which turned out to be perfect for recombining at the end

Graph Layout Decisions No stem plot Controllers attached to a specific graph ++ screenshots of original matlab + snippets of our graphs Initial setup was a bit all over the place: hard to follow, non linear, and not set up as the old demo was Decided to try and stick to the original, as it made the different components’ purposes excessively clear. created layout independently of our graphs, which turned out to be perfect for recombining at the end

Graph Layout Decisions Maintain the grouping of graphs Perhaps place controllers in the middle ++ screenshots of original matlab + snippets of our graphs Initial setup was a bit all over the place: hard to follow, non linear, and not set up as the old demo was Decided to try and stick to the original, as it made the different components’ purposes excessively clear. created layout independently of our graphs, which turned out to be perfect for recombining at the end

Graph communication Global data needed: Where it was stored: Values of the sliders Values modified by the selected filter Where it was stored: In the HTML sliders themselves In a GUI object that stored the filter state Created variations of the phase and magnitude functions for each filter Can save a function as an variable in the GUI object when the filter is changed +include output graphs and a bit of code that allows it to communicate with filters +We didn’t even really need to make graphs communicate other than the output graph & filter graph → the inputs are all the input signal & filter settings

Graph communication +include output graphs and a bit of code that allows it to communicate with filters +We didn’t even really need to make graphs communicate other than the output graph & filter graph → the inputs are all the input signal & filter settings

Graph communication Having figured this out, we could finally move on to putting the project together, layout, graphs, controls and all. +include output graphs and a bit of code that allows it to communicate with filters +We didn’t even really need to make graphs communicate other than the output graph & filter graph → the inputs are all the input signal & filter settings

Current Application Graphs update from sliders/textbox Pick Filter from dropdown Strings update from graphs/input

Demo

Future Implementations Post/Get GUI state Database for GUI state Possibly using Python-Flask and SQL to connect everything Using React as a global controller Documentation for future teams to work on code

What We Learned New team and all new to VIP JavaScript and JSXGraph Used GitHub more Work in a group environment

QUESTIONS?