1 / 36

MATHCOUNTS Web Application

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.

sutton
Télécharger la présentation

MATHCOUNTS Web Application

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. MATHCOUNTS - Background • Mathcounts gets kids excited about math • Promotes STEM careers • Contests are important • Volunteers' time is valuable

  3. Agenda • Problem • Formulation • Solution • Discussion • Conclusion

  4. Agenda • Problem • Formulation • Solution • Discussion • Conclusion

  5. Problem - Assessment • Registration • Emails and phone exchange • Decentralized • Varies by site and coordinator • Grading • Local application • Single user • Not stable

  6. Problems - Identification • Lacks automation • Time consuming • Does not scale • Error prone • Learning curve

  7. Agenda • Problem • Formulation • Solution • Discussion • Conclusion

  8. Formulation - Requirements • Scalable • Automated • Efficient • Consistent • Easy • Manageable

  9. Formulation - Constraints • Ease of use • Fault tolerance • Burst load • Privacy • Development time • Cost • Consistent, quality product

  10. Agenda • Problem • Formulation • Solution • Discussion • Conclusion

  11. Solution - Scalable Web Application • Centralized and consistent • Multi-user operations • Simplified and powerful • Managed • Familiar

  12. Agenda • Problem • Formulation • Solution • Discussion • Conclusion

  13. Agenda Discussion • "Batteries included" development • Process driving success • Data structures defining efficiency

  14. Discussion - "Batteries Included" • Developed fast • Good engineering practice • Quality outcome (maintainable)

  15. "Batteries Included" Tools • Django Web Framework • Apache Httpd Web Server • MySQL Database • Memcached

  16. "Batteries Included" - Django • Loose coupling, tight cohesion • Quick development (batteries) • Consistent • Scalable • Free • Powerful

  17. "Batteries Included" - Apache Httpd • Industry standard • Scalable • Free • Stable

  18. "Batteries Included" - MySQL DB • Industry backed • Common • Scalable • Free • Stable

  19. "Batteries Included" - Memcached • High performance • Simple • Scalable • Free

  20. "Batteries Included" - Deployment

  21. Agenda Discussion • "Batteries included" development • Process driving success • Data structures defining efficiency

  22. Process Driving - Registration • User Registration Module • School Registration • Testing Site Administrator Registration

  23. Process Driving - Admin Interface • Coach's Dashboard

  24. Process Driving - Admin Interface • Testing Site Administrator's Dashboard

  25. Process Driving - Admin Interface • Mathcounts Administrator's Dashboard

  26. Process Driving - Grade Entry • One Global Database

  27. Agenda Discussion • "Batteries included" development • Process driving success • Data structures defining efficiency

  28. Data Structures - Framework • MVC type framework (called MVT in Django) • M = Models • V = Views • T = Templates

  29. Data Structures - Models • Admin Interface is automatically generated • Automatically creates database using ORM • In general change the models not the code

  30. Data Structures - Views • Interacts with the models • Application code for web app • Tie the Models & Templates together

  31. Data Structures - Templates • Display for the application • Simple template language • Can be used with advanced front end tools • Generate output code effortlessly

  32. Data Structures - Forms • Auto generated from models • Easy to use and customizable

  33. Data Structures - End Product • URLs • Validation • LOC

  34. Agenda • Problem • Formulation • Solution • Discussion • Conclusion

  35. Conclusion • Identified problem • Formulated requirements • Postulated solutions • Identified tools • Defined process • Modelled efficiency • Implemented solution

  36. Questions Thank you!

More Related