GeometryEditor & GeoSite (1 st test version to be released 01/01/2008) Nov. 14, 2007 Xun Lai Department of Computer Science Kent State University.

Slides:



Advertisements
Similar presentations
Dreamweaver MX 2004 “Viewing the Workspace” Mrs. Wilson.
Advertisements

Professor Michael J. Losacco CIS 1150 – Introduction to Computer Information Systems Programming and Languages Chapter 13.
Project 1 Introduction to HTML.
GeoSite Feb. 4, 2008 Xun Lai Department of Computer Science Kent State University.
The Progress and Work Plan of MathEdit Wei Su 24 September 2007.
GeometryEditor and GeoSite Release Status and New Features Xun Lai July 16, 2008.
GeoSVG and GeoSite - a Web-based system for manipulative and education page authoring Xun Lai Feb. 15 th, 2006.
1 A Web-Based Integral Evaluator: A Demonstration of the Successful Integration of WebEQ, Maple, and Java Wanda M. Kunkle Department of Mathematics & Computer.
Using Visual Basic 6.0 to Create Web-Based Database Applications
GeoSite and GeoSVG. GeoSVG: A Dynamic Geometry Authoring Tool Written in SVG and Javascript Providing most of the capabilities of a traditional Dynamic.
GeometryEditor & GeoSite March 07, 2007 Xun Lai. Part One: User’s Point of View Part Two: Developer’s Point of View Part Three: Technical Point of View.
GeometryEditor Xun Lai Oct. 18, Authoring Supports Implemented Arbitrary Drawing Drawing primitives: Making it simple to create basic geometric.
GeometryEditor Crash Course July 11, 2007 Xun Lai Department of Computer Science Kent State University.
1. Migrate GeoSVG to Firefox 2. GDrawing Xun Lai October, 2005.
Microsoft ASP.NET AJAX - AJAX as it has to be Presented by : Rana Vijayasimha Nalla CSCE Grad Student.
1 Design and Implementation of an Assessment Database for Mathematics Education Institute for Computational Mathematics and Department of Computer Science.
Review CSC 171 FALL 2004 LECTURE 21. Topics Objects and Classes Fundamental Types Graphics and Applets Decisions Iteration Designing Classes Testing and.
GeoSVG: An Interactive Geometry Authoring Tool. Existing Interactive Geometry Software Geometer’s SketchPad Cabri Geometry II –Can export file to TI calculator.
An Integrated Solution for Web-based Mathematical Expression Inputting Wei Su Department of Computer Science, Lanzhou University, PRC Department of Computer.
Chapter 9 Introduction to the Document Object Model (DOM) JavaScript, Third Edition.
1 Distributed Mathematics Assessment System (DMAS) & WME Progress and Demo Saleh Al-shomrani Department of Computer Science Kent State University 06/13/2007.
GeoSVG A Web-oriented Dynamic Geometry Software. Introduction to GeoSVG GeoSVG is a Dynamic Geometry Software (DGS) to support diagramming, interactive.
Application Software By Brandon Marcelli.
GeoSVG: A Web-based Interactive Plane Geometry System for Mathematics Education Xun Lai and Paul S. Wang Department of Computer Science Institute for Computational.
3.2 Presentation Software End Show Creating slide shows including audio,video and digital images End Show.
1st Project Introduction to HTML.
Inline, Internal, and External FIle
1 Agenda Overview Review Roles Lists Libraries Columns.
XP New Perspectives on Microsoft Access 2002 Tutorial 71 Microsoft Access 2002 Tutorial 7 – Integrating Access With the Web and With Other Programs.
Chapter 6 DOJO TOOLKITS. Objectives Discuss XML DOM Discuss JSON Discuss Ajax Response in XML, HTML, JSON, and Other Data Type.
Presented by…. Group 2 1. Programming language 2Introduction.
TrendReader Standard 2 This generation of TrendReader Standard software utilizes the more familiar Windows format (“tree”) views of functions and file.
Web 2.0: Concepts and Applications 2 Publishing Online.
Chapter 4 Dreamweaver: Part II The Web Warrior Guide to Web Design Technologies.
4.1 JavaScript Introduction
JavaScript & jQuery the missing manual Chapter 11
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved Bookstore Web Application Introducing Visual Web Developer 2008 Express and the.
Microsoft Excel 2000 Adding Visual Elements and Managing Files.
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
INTRODUCTION TO FRONTPAGE. TOPICS TO BE DISCUSSED……….  Introduction Introduction  Features Features  Starting Front Page Starting Front Page  Components.
McGraw-Hill/Irwin © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Dynamic Action with Macromedia Dreamweaver MX Barry Sosinsky Valda Hilley.
Programming with Microsoft Visual Basic 2012 Chapter 12: Web Applications.
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
Using Visual Basic 6.0 to Create Web-Based Database Applications
Java Programming, 3e Concepts and Techniques Chapter 3 Section 65 – Manipulating Data Using Methods – Java Applet.
Writing various AJAX forms in Drupal 7 1. Overview of Form API 2. Ctools 2.1 Ctools features 3. Ajax 3.1 Ajax Forms in Drupal 4. Putting it all together.
Creating a Winning E-Business Second Edition Understanding Web Technologies Chapter 9.
Flash & JavaScript Mariela Hristova October 19, 2004 INF 385E – Fall 2004 – School of Information.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
FotoGazmic Software (From left to right: Chad Zbinden, Josey Baker, Rob Mills, Myra Bergman, Tinate Dejtiranukul)
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
Telerik Software Academy ASP.NET Web Forms Telerik Software Academy ASP.NET Web Forms.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Department of Computer Science Internet Performance Measurements using Firefox Extensions Scot L. DeDeo Professor Craig Wills.
Logic Analyzer ECE-4220 Real-Time Embedded Systems Final Project Dallas Fletchall.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
CONFIDENTIAL © 2007 Maplesoft, a division of Waterloo Maple Inc. Confidential MapleSim Pilot Test Program.
Chapter 27 Getting “Web-ified” (Web Applications) Clearly Visual Basic: Programming with Visual Basic nd Edition.
® IBM Software Group © 2007 IBM Corporation Module 3: Creating UML Diagrams Essentials of Modeling with IBM Rational Software Architect, V7.5.
Institute for the Protection and Security of the Citizen HAZAS – Hazard Assessment ECCAIRS Technical Course Provided by the Joint Research Centre - Ispra.
Microsoft Expression Web - Illustrated Unit A: Getting Started With Microsoft Expression Web.
Pasewark & Pasewark 1 Office Lesson 1 Microsoft Office 2007 Basics and the Internet Microsoft Office 2007: Introductory.
Computer Literacy BASICS: A Comprehensive Guide to IC 3, 5 th Edition Lesson 11 Exploring Microsoft Office Morrison / Wells / Ruffolo.
Customizing custom.
Creating a Windows Application Project in Visual Studio
Presentation transcript:

GeometryEditor & GeoSite (1 st test version to be released 01/01/2008) Nov. 14, 2007 Xun Lai Department of Computer Science Kent State University

GeometryEditor Overview A Dynamic Geometry System to explore mathematical concepts A Dynamic Geometry System to explore mathematical concepts Manipulative authoringManipulative authoring A Web-based system A Web-based system No software installation requiredNo software installation required (for developers) A package for building more sophisticated Web applications that need mathematical drawing support (for developers) A package for building more sophisticated Web applications that need mathematical drawing support GeoSite, BBS, DMAD and so on …GeoSite, BBS, DMAD and so on …

GeoSite Overview A Web-based application A Web-based application Manipulative authoringManipulative authoring GeometryEditor GeometryEditor Other authoring tools following some standards Other authoring tools following some standards Educational page authoringEducational page authoring More than normal WYSIWYG HTML editing More than normal WYSIWYG HTML editing Interaction between manipulatives and surrounding HTML Interaction between manipulatives and surrounding HTML Repository of manipulatives and educational pages Repository of manipulatives and educational pages Can be embedded/reused elsewhereCan be embedded/reused elsewhere

Status of GeometryEditor Progress, goals and implemented features Progress, goals and implemented features ditor/doc/2007/tasks.html (04/06-02/07) ditor/doc/2007/tasks.html (04/06-02/07) ditor/doc/2007/tasks.htmlhttp:// ditor/doc/2007/tasks.html ditor/doc/2007/shorttermTasks.txt (02/07- present) ditor/doc/2007/shorttermTasks.txt (02/07- present) ditor/doc/2007/shorttermTasks.txthttp:// ditor/doc/2007/shorttermTasks.txt Need to prioritize unfinished requirementsNeed to prioritize unfinished requirements Before or after the release of the first test version Before or after the release of the first test version First test version to be released (01/01/08)First test version to be released (01/01/08)

GeometryEditor Modules Composition Graphical core (jsmin-ed) Graphical core (jsmin-ed) 260KB, 18,000 lines of codes, 110 classes260KB, 18,000 lines of codes, 110 classes GeometryEditor.js: a layer between the graphical core and a client Web application GeometryEditor.js: a layer between the graphical core and a client Web application 50KB, 2,000 lines of codes50KB, 2,000 lines of codes Around 40 types of dialogs and their related Javascript files Around 40 types of dialogs and their related Javascript files Open source libraries used: Open source libraries used: Dynarch.com DHTML menus (50KB integrated into GeometryEditor.js)Dynarch.com DHTML menus (50KB integrated into GeometryEditor.js)Dynarch.com DHTML menusDynarch.com DHTML menus

An authoring tool

A package for building Web- applications Documentation: Documentation: ntation.htmlhttp://wme.cs.kent.edu/geosvg/docume ntation.htmlhttp://wme.cs.kent.edu/geosvg/docume ntation.htmlhttp://wme.cs.kent.edu/geosvg/docume ntation.html Selected examples: Selected examples: Function plottingFunction plottingFunction plottingFunction plotting Cutting a circleCutting a circleCutting a circleCutting a circle

Calculator in GeometryEditor Infix input and MathML display Infix input and MathML display has nothing to do with SVGhas nothing to do with SVG Real-time calculation Real-time calculation Real-time error message feedback Real-time error message feedback Operands can be objects from the canvas Operands can be objects from the canvas Can handle numeric, boolean and color expressions Can handle numeric, boolean and color expressions Can convert different units in distance and angle Can convert different units in distance and angle

Technology detail: algorithms for authoring supports Skipped …. Skipped …. Who is interested???Who is interested???

Technology detail: GeometryEditor.js A layer between the graphical core and a client Web application A layer between the graphical core and a client Web application Most problems I encountered and solved may be helpful to your projects Most problems I encountered and solved may be helpful to your projects Relates to the Manipulative Architecture Dr. Wang has defined Relates to the Manipulative Architecture Dr. Wang has defined ryEditor/doc/2007/manipulative%20arthitectur e.txthttp:// ryEditor/doc/2007/manipulative%20arthitectur e.txt Will come back to this if time allows Will come back to this if time allows

Status of GeoSite GeoSite is just a Web-application built upon GeometryEditor GeoSite is just a Web-application built upon GeometryEditor GeometryEditor does NOT provide any special codes for GeoSiteGeometryEditor does NOT provide any special codes for GeoSite Features that can demonstrate the capability of GeometryEditor are being developed first Features that can demonstrate the capability of GeometryEditor are being developed first AJAX is extensively used AJAX is extensively used First test site will be released with GeometryEditor (01/01/08) First test site will be released with GeometryEditor (01/01/08) tester1/ tester1/ tester1/ tester1/

Embedding in your page a manipulative from GeoSite Experience with embedding Youtube videos in your Web pages? Experience with embedding Youtube videos in your Web pages? GeoSite provides the html codes for you to embed a manipulative correctly GeoSite provides the html codes for you to embed a manipulative correctly Example: Example:

Again technology detail in GeometryEditor: GeometryEditor.js is the only javascript file you need to include: is the only javascript file you need to include: class GeometryEditor is in this fileclass GeometryEditor is in this file its constructor creates instancesits constructor creates instances set up correct connection among set up correct connection among the container elementthe container element embed elementembed element window object of the embedded svg documentwindow object of the embedded svg document pop-up dialogspop-up dialogs data from an URLdata from an URL

GeometryEditor.js (cont.) Dialog management Dialog management simulate modal dialog ( checkFocus)simulate modal dialog ( checkFocus) disable dialog/window belowdisable dialog/window below cascading closing of dialogs: closing an opener will close its descendent dialogscascading closing of dialogs: closing an opener will close its descendent dialogs cooperate with the graphical core to determine what objects can be selected as an input to the dialogcooperate with the graphical core to determine what objects can be selected as an input to the dialog onload/onunload/onOK/onCancel/onFinish/onS tart/onApplyonload/onunload/onOK/onCancel/onFinish/onS tart/onApply communications among dialogscommunications among dialogs

GeometryEditor.js (cont.) data retrieving data retrieving able to load data stringable to load data string able to load a data URL from anywhereable to load a data URL from anywhere menu/toolbar customization and setting- up menu/toolbar customization and setting- up customization of system provided menu/toolbarcustomization of system provided menu/toolbar adding application-defined menu/toolbaradding application-defined menu/toolbar enable/disable menu items and toolbar buttons depending on system statusenable/disable menu items and toolbar buttons depending on system status setup menu items or toolbar buttons for macrossetup menu items or toolbar buttons for macros

GeometryEditor.js (cont.) Serialization of data Serialization of data macromacro data from graphical coredata from graphical core menu/toolbarmenu/toolbar

GeometryEditor.js (cont.) Callback APIs Callback APIs Must handle asynchronization correctlyMust handle asynchronization correctly svg file loading svg file loading data update invoked by API (either set dataURL or dataValue) data update invoked by API (either set dataURL or dataValue) from dataURL: asynchronization inavoidablefrom dataURL: asynchronization inavoidable from dataValue: avoid spendinging too much time interpreting the dataStrfrom dataValue: avoid spendinging too much time interpreting the dataStr GeometryEditor_OnCreateDoneGeometryEditor_OnCreateDone GeometryEditor_onUpdateDoneGeometryEditor_onUpdateDone onObjectChangeListeneronObjectChangeListener onSaveListeneronSaveListener

GeometryEditor.js (cont.) Non-callback APIs Non-callback APIs addMenuset()addMenuset() addToolbarset()addToolbarset() getDataValue()getDataValue() getInitDataValue()getInitDataValue() getDataURL()getDataURL() addMacro()addMacro() getMacro()getMacro() get()get() addObjectChangeListener()addObjectChangeListener()

More APIs?? It ’ s possible to provide APIs like It ’ s possible to provide APIs like newCS( x, y, … ) // coordinate systemnewCS( x, y, … ) // coordinate system newPoint( x, y )newPoint( x, y ) newLine( point1, point2 )newLine( point1, point2 ) newLine( equation )newLine( equation ) Are they needed? Are they needed? Need to see more requirements Need to see more requirements

Future work Release the first test version 01/01/2008 Release the first test version 01/01/2008 Where to announce it?Where to announce it? Mathforum Mathforum SVG group SVG group More ?? More ?? Collect feedbacks Collect feedbacks Finish features listed in that shorttermTasks.txt file Finish features listed in that shorttermTasks.txt file shorttermTasks.txt