MATHCOUNTS Web Application

Post on 23-Feb-2016

48 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

Transcript

MATHCOUNTS Web Application

Andrew AmelingHelen VasconcelosChristopher Volny

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

• Automated Registration• Concurrent Grading• Intuitive User Application

MATHCOUNTS - Background

• Mathcounts gets kids excited about math

• Promotes STEM careers

• Contests are important

• Volunteers' time is valuable

Agenda

1. Problem

2. Formulation

3. Solution

4. Discussion

5. Conclusion

Agenda

1. Problem

2. Formulation

3. Solution

4. Discussion

5. Conclusion

Problem - Assessment

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

• Gradingo Local applicationo Single usero Not stable

Problems - Identification

• Lacks automation

• Time consuming

• Does not scale

• Error prone

• Learning curve

Agenda

1. Problem

2. Formulation

3. Solution

4. Discussion

5. Conclusion

Formulation - Requirements

• Scalable

• Automated

• Efficient

• Consistent

• Easy

• Manageable

Formulation - Constraints

• Ease of use

• Fault tolerance

• Burst load

• Privacy

• Development time

• Cost

• Consistent, quality product

Agenda

1. Problem

2. Formulation

3. Solution

4. Discussion

5. Conclusion

Solution - Scalable Web Application

• Centralized and consistent

• Multi-user operations

• Simplified and powerful

• Managed

• Familiar

Agenda

1. Problem

2. Formulation

3. Solution

4. Discussion

5. Conclusion

Agenda

Discussion

1. "Batteries included" development

2. Process driving success

3. Data structures defining efficiency

Discussion - "Batteries Included"

• Developed fast

• Good engineering practice

• Quality outcome (maintainable)

"Batteries Included" Tools

• Django Web Framework

• Apache Httpd Web Server

• MySQL Database

• Memcached

"Batteries Included" - Django

• Loose coupling, tight cohesion

• Quick development (batteries)

• Consistent

• Scalable

• Free

• Powerful

"Batteries Included" - Apache Httpd

• Industry standard

• Scalable

• Free

• Stable

"Batteries Included" - MySQL DB

• Industry backed

• Common

• Scalable

• Free

• Stable

"Batteries Included" - Memcached

• High performance

• Simple

• Scalable

• Free

"Batteries Included" - Deployment

Agenda

Discussion

1. "Batteries included" development

2. Process driving success

3. Data structures defining efficiency

Process Driving - Registration

• User Registration Module

• School Registration

• Testing Site Administrator Registration

Process Driving - Admin Interface

• Coach's Dashboard

Process Driving - Admin Interface

• Testing Site Administrator's Dashboard

Process Driving - Admin Interface

• Mathcounts Administrator's Dashboard

Process Driving - Grade Entry

• One Global Database

Agenda

Discussion

1. "Batteries included" development

2. Process driving success

3. Data structures defining efficiency

Data Structures - Framework

• MVC type framework (called MVT in Django)

• M = Models

• V = Views

• T = Templates

Data Structures - Models

• Admin Interface is automatically generated

• Automatically creates database using ORM

• In general change the models not the code

Data Structures - Views

• Interacts with the models

• Application code for web app

• Tie the Models & Templates together

Data Structures - Templates

• Display for the application

• Simple template language

• Can be used with advanced front end tools

• Generate output code effortlessly

Data Structures - Forms

• Auto generated from models

• Easy to use and customizable

Data Structures - End Product

• URLs

• Validation

• LOC

Agenda

1. Problem

2. Formulation

3. Solution

4. Discussion

5. Conclusion

Conclusion

• Identified problem

• Formulated requirements

• Postulated solutions

• Identified tools

• Defined process

• Modelled efficiency

• Implemented solution

Questions

Thank you!

top related