Top Banner
Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright
23

Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

Dec 24, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

Conceptual StatisticsThrough Graphing

Conceptual StatisticsThrough Graphing

Wen-hao Zeng

Brian Nemsick

Lijun Zhu

Ricky Liou

Ethan Hayes

Drew Boatwright

Page 2: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

2

IntroductionIntroduction

• Goal of the project– Create a way for students and instructors to view

statistics on concepts through graphing

• Motivation– Currently there is no option to see statistics based on

concepts– Valuable information

Page 3: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

3

So how do we start?So how do we start?

• Research– Two Methods

• Jquery/Highcharts• Python

• Division of Labor

Page 4: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

4

Highcharts IntroductionHighcharts Introduction

• Highcharts is a platform for creating Interactive Javascript Charts.

Page 5: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

5

Benefits of HighchartsBenefits of Highcharts

• Easy implementation on webpages• Multiple types of graphs• Highly Customizable• Full API• Many Demos

Page 6: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

6

Getting The DataGetting The Data

• X-axis– Concepts in an assignment

• Y-axis– Numerical information

Page 7: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

7

X-axisX-axis

• Con_per_assign.php– Looks at tags(concepts) for questions in an

assignment and stores those concepts in a table

Page 8: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

8

Y-axisY-axis

• Two initial methods– Ethan’s in-line processing (mySQL queries)– Drew’s post-processing (Parsing in PHP)

• Comparison of the two methods– Ethan’s: 8 seconds O(1)– Drew’s: 60+ seconds O(n2)

Page 9: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

9

ImplementationImplementation

• Chart.php– Called through ITS_jquery

• GET variables passed through– Contains multiple graph views

• Student/Instructor/Stacked/Percentage

Page 10: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

10

ImplementationImplementation

• Screen.php

Page 11: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

11

Additional Option for InstructorAdditional Option for Instructor

• Profile.php– View Graph for either whole semester or Individual

Student

Page 12: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

12

Python IntroductionPython Introduction

• Python is a useful calculation and data analysis tool.

• However, ITS wasn’t compatible with Python• In order to allow future be based on Python,

fundamental works must be done• Producing a student summary graph is a good

objective for the fundamental work

Page 13: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

13

What have we achievedWhat have we achieved

• Successful installation of several useful module for python, both on local and dev5– Matplotlib– MySQLdb

• Successful communication between PHP and Python– jpgraph

• Successful production of student summary graph using real student data from MySQL

Page 14: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

14

Python Plotting ImplementationPython Plotting Implementation

• Use Python to extract the data from MySQL tables.

• Use Python to filter attempted concepts and to sort tags alphabetically.

• Plot tags and data with Matplotlib storing the result in a PNG file

• Use HTML/PHP to display the PNG file.• Have PHP pass the necessary inputs to generate

the appropriate graphs.

Page 15: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

15

Python Plotting ImplementationPython Plotting Implementation

PHPStudent/Semester & assignment

Python

MySQL

Query

Display PNG Plot Matplotlib

Save PNG Plot

Tags & Data

Page 16: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

16

Python Plotting : Example Student PlotPython Plotting : Example Student Plot

Page 17: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

17

Python Plotting : Example Instructor PlotPython Plotting : Example Instructor Plot

Page 18: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

18

PHP Plotting ImplementationPHP Plotting Implementation

• Considering PHP was unable to use portions of the Matplotlib module in Python script on dev5 due to a unsolved dependency issue, an alternative approach to the original plan was used to produce the graphs.– The burden of producing the graph is shifted to PHP

side– Avoid using Matplotlib to achieve PHP and Python

communication.

Page 19: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

19

PHP Plotting ImplementationPHP Plotting Implementation

PHPStudent & assignment

PythonTags & Data

MySQL

QueryTags & Data

Graph

Produce

Page 20: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

20

PHP Plotting ImplementationPHP Plotting Implementation

Page 21: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

21

ResultsResults

• With these results…– We have two methods of graphing the statistical

information for concepts– We have a way of communicating with Python

through PHP.

Page 22: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

22

Future WorksFuture Works

• Resolve the minor dependency issue with Matplotlib in PHP.

• Finding even more efficient queries to pull the Y-axis data.

Page 23: Conceptual Statistics Through Graphing Wen-hao Zeng Brian Nemsick Lijun Zhu Ricky Liou Ethan Hayes Drew Boatwright.

23

Questions?Questions?