cs5604: final presentaon projopendsa: log support...– python, django, mysql, html/css/js progress...
TRANSCRIPT
![Page 1: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/1.jpg)
CS5604:FinalPresenta3onProjOpenDSA:LogSupport
VictoriaSuwardimanAnandSwaminathan
ShiyiWeiDepartmentofComputerScience,VirginiaTech
December4,2012
![Page 2: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/2.jpg)
Overview
• OpenDSARecap• LogSupportRecap• StudentView• InstructorView• DeveloperView• FutureWork
![Page 3: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/3.jpg)
OpenDSARecap
• OpenDSAac3vee‐bookproject*– goal:developacompleteonlinetextbookfordatastructuresandalgorithms(DSA)courses
• Features– instruc3onalmodule(topic),e.g.,asor3ngalgorithm
– interac3vealgorithmvisualiza3on– interac3veassessmentac3vity(exercise)
• providesfeedbackonstudents’proficiencywiththematerial
• ProjectStatus– ThesystemisdeployedforstudentsinCS3114touse.
*ThisprojectisledbyDr.CliffShafferinDepartmentofComputerScience,VirginiaTech
![Page 4: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/4.jpg)
LogSupportProjectRecap
• OpenDSAlogdata– studentinterac3onswiththeexercises
• 3mestampsforvariousac3ons,e.g.,buZonclick• performanceresults,e.g.,exercisescore
• Logsupport:logdatarepor3ngthroughvisualiza3on– studentview
• student’sownprogressandperformanceinmodulesandexercises– instructorview
• gradesandstudents’overallperformance– developerview
• usagesta3s3csofmodulesandexercises
• Technologies– Python,Django,MySQL,HTML/CSS/JS
![Page 5: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/5.jpg)
Progress
• MidtermPresenta3on:– Learnedso`waretools– Designedindividualviews– Begandevelopingviews
• FinalPresenta3on:– Developedeachview– Receivedclientfeedback– Fixesandupdatestoeachview
![Page 6: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/6.jpg)
DevelopmentProcess
• Individualviewsworkedoninparallelbyindividualteammembers
• Weeklymee3ngswithclients:Dr.Shaffer,EricFouh,DanielBreakiron
• Weeklyupdatesbasedonfeedback
• GitHub– hZps://github.com/cashaffer/Aalto‐‐
• hZp://opendsa.cc.vt.edu/
![Page 7: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/7.jpg)
Whatdoesstudentviewprovide(http://opendsa.cc.vt.edu/student_view/)
• Awayforstudentstoviewtheirprogressandgrades.• Thelistofmodulestheyareproficientin.
• Thislistofexercisestheyareproficientin.• Theirscorebasedofproficientexercises.• Thelistofexercisesthestudentneedstobeproficientto
beproficientinamodule.
• Alistofnon‐proficientanduncompletedexercises.
![Page 8: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/8.jpg)
StudentView‐Overview
![Page 9: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/9.jpg)
ModuleView
![Page 10: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/10.jpg)
ModuleView‐Expanded
![Page 11: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/11.jpg)
ProficientExercises
![Page 12: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/12.jpg)
Exercisestobetakenup
![Page 13: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/13.jpg)
Exercisestobetakenup
![Page 14: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/14.jpg)
Challengesfaced(Mainlytheperformanceofthesystem)
• Thedataindatabasewasnotinproperformat.
• Therewerecommaseparatedvaluesincertainfieldsduetowhichinnerjoincouldnotbeperformed.
• Thenumberofexercisesistoohigh.
• Alsothenumberofuserexercises‐Entriesofaexercise
foreachuserisevenhigher.
• Wrongtes3ngdatainthelivedatabase.
• Theexerciseshadtobemergedintoeachmodules.
• Thepagetook20secondstoload.
![Page 15: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/15.jpg)
Solu3ons
• Ini3allywetriedtoimplementthepagerenderingthroughajax.(didn'twork)
• Triedtopaginateentriesbyfilteringatthecontrollers.(Views.py)‐(alsodidn'twork)
• SinceSQListhefastest,Ifilteredouttheentriesatthedatabaselevel‐(workedoutpreZywell).
• AorderofNisany3mebeZerthanorderofN2
irrespec3veoftheextraspaceused.
• A`eralltheop3miza3onsthepagenowloadsinlessthan1second
![Page 16: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/16.jpg)
InstructorView
hZp://opendsa.cc.vt.edu/teacher_view/• Allowsinstructortoseefullstudents’exercisesummary,aswellasexercises’studentsummary
• Displayseachstudent’sstatusesforexercises• Displayseachstudent’stotalscore• AbilitytoexporttabletoCSVfileforrecords• Displaysstudentsineachcategoryforeachexercise
![Page 17: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/17.jpg)
ExerciseSummary
![Page 18: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/18.jpg)
CSVFile
![Page 19: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/19.jpg)
ProgressSummary
![Page 20: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/20.jpg)
Challenges
• Display:becauseofextensivenumberofrowsandcolumnsforusersandexercises,scrollingcancauselackofreadability
• Storage:havinganonlineviewisaccessible,butnotusefulforaninstructor’srecordkeeping
• Performance:becauseofdatabaseschema,itisexpensivetoreadinforma3onfromvarioustables,causesthepagetoloadveryslowly
![Page 21: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/21.jpg)
Solu3ons
• Display:Fixedtableheaders,aswellascolumnsinordertokeepthelabelsfixedwhilelookingatindividualstudent’srow
• Storage:ExporttoaCSVfileop3onallowsinstructortodownloadthetableandfilteritforvariouspurposes
• Performance:Storedproceduresinthedatabasetoquerytablesforsingleorsubsetofrowsversusreturningallentriestofilterinview
![Page 22: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/22.jpg)
DeveloperView�
• Developers/Researcherswouldliketo– Improvethesystemcontents
– Summarizethestudentbehavior
• Visualiza3onofindividualstudent’sac3vity– Overallperformance– Exercisesummaryanddetails
• Informa3onretrievalfromlogdata– Morethan20millionbuZonclickinterac3ons
Thedeveloperviewisavailableat:hZp://opendsa.cc.vt.edu/developer_view/�
![Page 23: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/23.jpg)
ProficiencyDatesDistribu3on�
![Page 24: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/24.jpg)
ProficiencyDatesDistribu3on
![Page 25: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/25.jpg)
ModuleLoadingFrequency �
![Page 26: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/26.jpg)
ExerciseSummary:Time�
![Page 27: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/27.jpg)
ExerciseSummary:Visits�
![Page 28: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/28.jpg)
ExerciseDetails�
![Page 29: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/29.jpg)
Implementa3on�
• Challenges– Morethan20millionbuZoneventsinonetable• document‐load,document‐unload• forward,backward,etc.
– Interpretthedatavia.visualiza3on• Implementa3on– Precisequery:necessaryeventsareretrieved– Bargraph:html&CSS– Linegraph:JavaScript
![Page 30: CS5604: Final Presentaon ProjOpenDSA: Log Support...– Python, Django, MySQL, HTML/CSS/JS Progress • Midterm Presentaon: – Learned soware tools – Designed individual views –](https://reader036.vdocuments.us/reader036/viewer/2022071110/5fe5ae5e813dcd1ec0155b32/html5/thumbnails/30.jpg)
FutureWork�
• StudentView• InstructorView– Progresssummaryview
• DeveloperView– Timelineview
• Wri3ng– Documenta3on
– Finalreport �