Khan Academy Eric Fouh CS6604 Spring 2012 January 25, 2012.

Slides:



Advertisements
Similar presentations
WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
Advertisements

What is HTML5…?. ”…removes the need for plugins” ”…can handle multimedia directly” ”…enables rich, interactive clients” ”…enables advanced visual designs”
Introduction to HTML5 Programming donghao. HTML5 is the New HTML Standard New Elements, Attributes. Full CSS3 Support Video and Audio 2D/3D Graphics Local.
HTML 5. What is HTML5? HTML5 will be the new standard for HTML, XHTML, and the HTML DOM. The previous version of HTML came in The web has changed.
Tim Berners-Lee authors HTML in 1991, assisted by his colleagues at CERN,
HTML 5 Tutorial Chapter 1 Introduction. What is HTML5? HTML5 will be the new standard for HTML, XHTML, and the HTML DOM. The previous version of HTML.
Objectives Moodle is an online learning environment where instructors & their students interact. In this workshop you will learn: 1.Configure system requirements.
Bartosz Kowalski Software Developer CERN. Presentation outline -HTML : introduction and history -HTML5 : -History and philosophy -New features -Structure.
Web Page Behavior IS 373—Web Standards Todd Will.
Lecture 18. HTML5 and JavaScript Instructor: Jie Yang Department of Computer Science University of Massachusetts Lowell Exploring the Internet,
Chapter 14 Introduction to HTML
Part or all of this lesson was adapted from the University of Washington’s “Web Design & Development I” Course materials.
CS 415 N-Tier Application Development By Umair Ashraf July 16,2013 National University of Computer and Emerging Sciences Lecture # 12 HTML/ XHTML/ HTML5.
XML on the Web: is it still relevant? O'Neil D. Delpratt.
Web Development & Design Foundations with XHTML Chapter 9 Key Concepts.
Prof. James A. Landay University of Washington Spring 2008 Web Interface Design, Prototyping, and Implementation Rich Internet Applications: AJAX, Server.
1 Web Developer & Design Foundations with XHTML Chapter 6 Key Concepts.
1 Web Developer Foundations: Using XHTML Chapter 11 Web Page Promotion Concepts.
CPSC 594B: Software Engineering Project Lecture 1: Introduction to HTML5 Lecturer: Ayman Issa Office: ICT 555.
HTML 5 New Standardization of HTML. I NTRODUCTION HTML5 is The New HTML Standard, New Elements New Attributes Full CSS3 Support Video and Audio 2D/3D.
HTML 5 and Content Strategy for the Web By: Christina Fregosi ISC 496.
HTML5 Accessibility Ted Drake, Yahoo! Accessibility Lab Slideshare.net/7mary4.
JavaScript & jQuery the missing manual Chapter 11
Web 2.0: Concepts and Applications 4 Organizing Information.
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
HTML Advanced: HTML 5. Introduction to HTML 5 These slides are based on source material found at the w3schools.com website.
PUBLISHING ONLINE Chapter 2. Overview Blogs and wikis are two Web 2.0 tools that allow users to publish content online Blogs function as online journals.
The New Elements © Main Menu Structure Media Canvas Form Click on one of the categories below to view information about the new HTML5 elements in.
Cross Site Integration “mashups” cross site scripting.
CHAP 6. USING THE HTML5 WEB STORAGE API.  Cookie - Are a built-in way of sending text values back and forth from server to client.  Servers can use.
Introduction to HTML. What is HTML?  Hyper Text Markup Language  Not a programming language but a markup language  Used for presentation and layout.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Introduction to Programming the WWW I CMSC Summer 2003 Lecture 7.
Building Rich Web Applications with Ajax Linda Dailey Paulson IEEE – Computer, October 05 (Vol.38, No.10) Presented by Jingming Zhang.
Creating User Interfaces Recap HTML/HTML5 JavaScript features Homework: keep working on user observation studies. Review JavaScript.
Session: 1. © Aptech Ltd. 2Introduction to the Web / Session 1  Explain the evolution of HTML  Explain the page structure used by HTML  List the drawbacks.
Graduate School of Library and Information Science LIS 753 Introduction to HTML 5 By: Yijun Gao Week Three.
Computer Science and Software Engineering© 2014 Project Lead The Way, Inc. HTML5 Evolving Standards JavaScript.
Google Analytics Workshop
Unit 13 –JQuery Basics Instructor: Brent Presley.
AJAX and REST. Slide 2 What is AJAX? It’s an acronym for Asynchronous JavaScript and XML Although requests need not be asynchronous It’s not really a.
(1) HTML5, CSS, Twitter Bootstrap. (2) HTML5 Will be the new standard New features Drag and Drop and Support for local storage,,,, New input types Removed.
Let’s look what flash can do: OK, that wasn’t flash! That was HTML5.
Live Project Based Industrial Training SSDN Technologies Pvt. Ltd. Call Us: /
1/7/2016www.infocampus.co.in1. 1/7/2016www.infocampus.co.in2 Web Development training gives you and all-round training in both the design and the development.
丁建文 國立高雄應用科大資管系副教授 兼任計網中心軟體發展組組長 跨平台行動應用軟體開發技術 : HTML5 & Mobile JavaScript Framework 暨南大學.
JQuery form submission CIS 136 Building Mobile Apps 1.
1 Using jQuery JavaScript & jQuery the missing manual (Second Edition)
TNPW1 Ing. Jiří Štěpánek.  In current version (XHTML 1.0 strict)  No multimedia elements  No semantics elements  Only few input types  Only few document.
CSCI 3100 Tutorial 5 JavaScript & Ajax Jichuan Zeng Department of Computer Science and Engineering The Chinese University of Hong.
4.3. Code animations by using JavaScript Access data access by using JavaScript. Creating Animations, Working with Graphics, and Accessing Data.
Web Analytics Fundamentals Presented by Tejaswi, Chandrika, Sunil.
National College of Science & Information Technology.
The HTML5 logo was introduced by W3C in 2010
Chapter 17 The Need for HTML 5.
HTML 5.
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
HTML5 – The Saga Continues
HTML 5 Tutorial Chapter 1 Introduction.
Application with Cross-Platform GUI
4. Javascript Pemrograman Web I Program Studi Teknik Informatika
Environmental Sensing Monitoring and Analyzing Water Temperatures
The Application Lifecycle
HTML 5 Training HTML 5 SYMANTICS [Notes to trainer:
Creating User Interfaces
Introduction to JavaScript & jQuery
Web Client Side Technologies Raneem Qaddoura
Web Application Development Using PHP
Presentation transcript:

Khan Academy Eric Fouh CS6604 Spring 2012 January 25, 2012

Introduction Winner in 2008 of Google’s “Project 10 to the 100” Awarded for their contribution in “making educational content available online for free” Received 2 millions USD from Google

Cloud Infrastructure Runs on Google App Engine (GAE) – Only Java and Python supported – YAML configuration file: match URL to request handlers – schemaless data modeling and storage: Datastore /Google Bigtable

Technology:HTML5 - A work in progress -Next standard for HTML, XHTML, and the HTML DOM -Already supported by most browser -Features: – The video and audio elements for media playback (,,, etc tags) – The canvas element for drawing ( tag with all drawing handled by JavaScript) – New content specific elements, like article, footer, header, nav, section – New form controls, like calendar, date, time, , url, search – User geolocation

Technology:HTML5 – Better support for local offline storage: Cookies are replace by two objects : – localStorage : stores user and applications data with no time limit – sessionStorage - stores user and application data for one session interface Storage { readonly attribute unsigned long length;length DOMString? key(unsigned long index);key getter DOMString getItem(DOMString key);getItem setter creator void setItem(DOMString key, DOMString value);setItem deleter void removeItem(DOMString key); void clear();removeItemclear };

Technology: JavaScript – jQuery : JavaScript library to use CSS selectors to implement quick HTML document traversing, event handling, animations, and Ajax interactions. No more in-line JS code – YUICompressor: JavaScript code compressor which goal is to minimize page size therefore download time. – Highcharts JS: JavaScript charting library offering intuitive, interactive charts for web application. Used to visualize several metrics like student performance. – Raphaël: JavaScript library for vector graphics on the web. Used for the scratchpad when doing exercises.

Technology: Other Tools – ASCIIsvg: JavaScript script for creating and describing pictures on webpages using standard mathematical coordinates – ASCIIMathML: JS script to produce math formulas on webpages using calculator-style and LateX style syntax – MathJax: Math visualization library for inputs of MathML and LaTeX – Google Maps API v3 is used for the exercise dashboard: the Knowledge map – Google Analytics is a tracking tool for stats on your visitors

Data Playlists Videos Exercises Badges Users and User Data

Data: Playlists Youtube Playlists: collection of Videos Attributes youtube_idurl titleDescription Readable_idtags

Data: Videos Youtube Videos (embedded) Attributes: Youtube_idurl titledescription PlaylistsKeywords Durationreadable_id viewsdate_added download_version

Data: Exercises HTML5+JS+CSS file Attributes nameshort_display_name prerequisitescovers v_positionh_position second_per_fast_problemlive summativeauthor raw_htmllast_modified creation_date

Data: Exercises Main Library khan-exercise.js – Fixed number of exercises (now 10) are selected for each topic. Problems selection is based on exercise “weight” are not randomly. Weight are set up manually e.g. – Exercises are load from the server:. jQuery.ajax({ // Do a request to the server API url: server + "/api/v1/user/exercises/" + exerciseName, type: "GET", dataType: "json", // Make sure cookies are passed along xhrFields: { withCredentials: true }, success: prepareUserExercise });

Data: Exercises Data Interchange Format: JSON – JavaScript Object Notation – Ligthweight (compared to XML) – Provided with JS { "covers": [ "addition_2", "multiplication_0.5" ], "creation_date": " T00:00:00Z", "display_name": "Multiplication 1", "h_position": 2, "ka_url": "kind": "Exercise", "live": true, "name": "multiplication_1", "num_milestones": 1, "prerequisites": [ "addition_2", "multiplication_0.5" ], "relative_url": "/exercise/multiplication_1", "seconds_per_fast_problem": 4.0, "short_display_name": "Mult. 1", "summative": false, "v_position": 2 },

Data: Exercises Server communication: - Very few communication with the server - It loads the exercises from the server, - runtime data stored locally: Uses HTML5 "LocalStorage" capability to store user information locally uid,screen name, etc Enabling localStorage: localStorage[ uid ] = uid;(where uid is current date and time) Store data locally:

Data: Exercises Structure: – Principal classes: Vars: variables of the problem Question: Solution: Multiple or not Hints – Optional classes Summary: description of the problem Graphie: for exercises with animations/graphs/etc.

Data: Exercises User answer assessed locally Send summary of user's action to the server (upon completion of the exercise) – Information sent to the server: If the user answer was correct If the user used a hint How long he took to complete the problem How many times the problem was attempted User’s answer The seed that was used to select the exercises

Data: Badges Granted… – Upon completion of a required number of exercises – Spending enough time watching videos Upon completion Attributes Badge_nameCount_awarded Date_last_calculated Custom badges DescriptionPoints CategoryIcon User badges UserDate Badge nameContext Points earned

Data: Badges { "badge_category": 1, "description": "Going Transonic", "name": "greattimedproblembadge", "points": 500, "safe_extended_description": "Quickly & correctly answer 10 exercise problems in a row (time limit depends on exercise difficulty)", "user_badges": [ { "badge_name": "greattimedproblembadge", "date": " T06:02:05Z", "kind": "UserBadge", "points_earned": 500, "target_context": {... /* The target_context will contain either an Exercise or Playlist entity */... }, "target_context_name": "Addition 1", }, ] },

Data: Users and User Data Student List: User Video: – Information linking a user to the videos he uploaded User Playlist – Data about the interaction of a user and a playlist: name of the playlist, last watched time, seconds, etc. Attributes Namecoaches

Data: Users and User Data Video Logs – Data about the user and the videos he watched: user name, video title, time watched, points earned, playlist title Problem Logs Attributes userExercise correcttime_taken hint_time_taken_listhint_after_attempt_list count_hintshint_used points_earnedearned_proficiency suggestedip_address, etc.

Data: Users and User Data

Conclusion Khan Academy is not an eTextBook but has some features (assessment system, Tracking tools) that should be present in an eTextBook Khan Academy is a good example of learning system that: “leverage technology to create relevant learning experiences that mirror students’ daily lives and the reality of their futures.” U.S. Department of Education’s report, Transforming American Education, Learning Powered by Technology.Transforming American Education, Learning Powered by Technology.