Top Banner
MATHCOUNTS Web Application Andrew Ameling Helen Vasconcelos Christopher Volny Faculty Advisor - Dr. William Acosta Course Instructor - Dr. Gursel Serpen Automated Registration Concurrent Grading Intuitive User Application
36

MATHCOUNTS Web Application

Feb 23, 2016

Download

Documents

Sutton

MATHCOUNTS Web Application. Faculty Advisor - Dr. William Acosta Course Instructor - Dr. Gursel Serpen. Andrew Ameling Helen Vasconcelos Christopher Volny. Automated Registration Concurrent Grading Intuitive User Application. MATHCOUNTS - Background. - PowerPoint PPT Presentation
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: MATHCOUNTS Web Application

MATHCOUNTS Web Application

Andrew AmelingHelen VasconcelosChristopher Volny

Faculty Advisor - Dr. William AcostaCourse Instructor - Dr. Gursel Serpen

• Automated Registration• Concurrent Grading• Intuitive User Application

Page 2: MATHCOUNTS Web Application

MATHCOUNTS - Background

• Mathcounts gets kids excited about math

• Promotes STEM careers

• Contests are important

• Volunteers' time is valuable

Page 3: MATHCOUNTS Web Application

Agenda

1. Problem

2. Formulation

3. Solution

4. Discussion

5. Conclusion

Page 4: MATHCOUNTS Web Application

Agenda

1. Problem

2. Formulation

3. Solution

4. Discussion

5. Conclusion

Page 5: MATHCOUNTS Web Application

Problem - Assessment

• Registrationo Emails and phone exchangeo Decentralizedo Varies by site and coordinator

• Gradingo Local applicationo Single usero Not stable

Page 6: MATHCOUNTS Web Application

Problems - Identification

• Lacks automation

• Time consuming

• Does not scale

• Error prone

• Learning curve

Page 7: MATHCOUNTS Web Application

Agenda

1. Problem

2. Formulation

3. Solution

4. Discussion

5. Conclusion

Page 8: MATHCOUNTS Web Application

Formulation - Requirements

• Scalable

• Automated

• Efficient

• Consistent

• Easy

• Manageable

Page 9: MATHCOUNTS Web Application

Formulation - Constraints

• Ease of use

• Fault tolerance

• Burst load

• Privacy

• Development time

• Cost

• Consistent, quality product

Page 10: MATHCOUNTS Web Application

Agenda

1. Problem

2. Formulation

3. Solution

4. Discussion

5. Conclusion

Page 11: MATHCOUNTS Web Application

Solution - Scalable Web Application

• Centralized and consistent

• Multi-user operations

• Simplified and powerful

• Managed

• Familiar

Page 12: MATHCOUNTS Web Application

Agenda

1. Problem

2. Formulation

3. Solution

4. Discussion

5. Conclusion

Page 13: MATHCOUNTS Web Application

Agenda

Discussion

1. "Batteries included" development

2. Process driving success

3. Data structures defining efficiency

Page 14: MATHCOUNTS Web Application

Discussion - "Batteries Included"

• Developed fast

• Good engineering practice

• Quality outcome (maintainable)

Page 15: MATHCOUNTS Web Application

"Batteries Included" Tools

• Django Web Framework

• Apache Httpd Web Server

• MySQL Database

• Memcached

Page 16: MATHCOUNTS Web Application

"Batteries Included" - Django

• Loose coupling, tight cohesion

• Quick development (batteries)

• Consistent

• Scalable

• Free

• Powerful

Page 17: MATHCOUNTS Web Application

"Batteries Included" - Apache Httpd

• Industry standard

• Scalable

• Free

• Stable

Page 18: MATHCOUNTS Web Application

"Batteries Included" - MySQL DB

• Industry backed

• Common

• Scalable

• Free

• Stable

Page 19: MATHCOUNTS Web Application

"Batteries Included" - Memcached

• High performance

• Simple

• Scalable

• Free

Page 20: MATHCOUNTS Web Application

"Batteries Included" - Deployment

Page 21: MATHCOUNTS Web Application

Agenda

Discussion

1. "Batteries included" development

2. Process driving success

3. Data structures defining efficiency

Page 22: MATHCOUNTS Web Application

Process Driving - Registration

• User Registration Module

• School Registration

• Testing Site Administrator Registration

Page 23: MATHCOUNTS Web Application

Process Driving - Admin Interface

• Coach's Dashboard

Page 24: MATHCOUNTS Web Application

Process Driving - Admin Interface

• Testing Site Administrator's Dashboard

Page 25: MATHCOUNTS Web Application

Process Driving - Admin Interface

• Mathcounts Administrator's Dashboard

Page 26: MATHCOUNTS Web Application

Process Driving - Grade Entry

• One Global Database

Page 27: MATHCOUNTS Web Application

Agenda

Discussion

1. "Batteries included" development

2. Process driving success

3. Data structures defining efficiency

Page 28: MATHCOUNTS Web Application

Data Structures - Framework

• MVC type framework (called MVT in Django)

• M = Models

• V = Views

• T = Templates

Page 29: MATHCOUNTS Web Application

Data Structures - Models

• Admin Interface is automatically generated

• Automatically creates database using ORM

• In general change the models not the code

Page 30: MATHCOUNTS Web Application

Data Structures - Views

• Interacts with the models

• Application code for web app

• Tie the Models & Templates together

Page 31: MATHCOUNTS Web Application

Data Structures - Templates

• Display for the application

• Simple template language

• Can be used with advanced front end tools

• Generate output code effortlessly

Page 32: MATHCOUNTS Web Application

Data Structures - Forms

• Auto generated from models

• Easy to use and customizable

Page 33: MATHCOUNTS Web Application

Data Structures - End Product

• URLs

• Validation

• LOC

Page 34: MATHCOUNTS Web Application

Agenda

1. Problem

2. Formulation

3. Solution

4. Discussion

5. Conclusion

Page 35: MATHCOUNTS Web Application

Conclusion

• Identified problem

• Formulated requirements

• Postulated solutions

• Identified tools

• Defined process

• Modelled efficiency

• Implemented solution

Page 36: MATHCOUNTS Web Application

Questions

Thank you!