CS5604:FinalPresenta3onProjOpenDSA:LogSupport
VictoriaSuwardimanAnandSwaminathan
ShiyiWeiDepartmentofComputerScience,VirginiaTech
December4,2012
Overview
• OpenDSARecap• LogSupportRecap• StudentView• InstructorView• DeveloperView• FutureWork
OpenDSARecap
• OpenDSAac3vee‐bookproject*– goal:developacompleteonlinetextbookfordatastructuresandalgorithms(DSA)courses
• Features– instruc3onalmodule(topic),e.g.,asor3ngalgorithm
– interac3vealgorithmvisualiza3on– interac3veassessmentac3vity(exercise)
• providesfeedbackonstudents’proficiencywiththematerial
• ProjectStatus– ThesystemisdeployedforstudentsinCS3114touse.
*ThisprojectisledbyDr.CliffShafferinDepartmentofComputerScience,VirginiaTech
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
Progress
• MidtermPresenta3on:– Learnedso`waretools– Designedindividualviews– Begandevelopingviews
• FinalPresenta3on:– Developedeachview– Receivedclientfeedback– Fixesandupdatestoeachview
DevelopmentProcess
• Individualviewsworkedoninparallelbyindividualteammembers
• Weeklymee3ngswithclients:Dr.Shaffer,EricFouh,DanielBreakiron
• Weeklyupdatesbasedonfeedback
• GitHub– hZps://github.com/cashaffer/Aalto‐‐
• hZp://opendsa.cc.vt.edu/
Whatdoesstudentviewprovide(http://opendsa.cc.vt.edu/student_view/)
• Awayforstudentstoviewtheirprogressandgrades.• Thelistofmodulestheyareproficientin.
• Thislistofexercisestheyareproficientin.• Theirscorebasedofproficientexercises.• Thelistofexercisesthestudentneedstobeproficientto
beproficientinamodule.
• Alistofnon‐proficientanduncompletedexercises.
StudentView‐Overview
ModuleView
ModuleView‐Expanded
ProficientExercises
Exercisestobetakenup
Exercisestobetakenup
Challengesfaced(Mainlytheperformanceofthesystem)
• Thedataindatabasewasnotinproperformat.
• Therewerecommaseparatedvaluesincertainfieldsduetowhichinnerjoincouldnotbeperformed.
• Thenumberofexercisesistoohigh.
• Alsothenumberofuserexercises‐Entriesofaexercise
foreachuserisevenhigher.
• Wrongtes3ngdatainthelivedatabase.
• Theexerciseshadtobemergedintoeachmodules.
• Thepagetook20secondstoload.
Solu3ons
• Ini3allywetriedtoimplementthepagerenderingthroughajax.(didn'twork)
• Triedtopaginateentriesbyfilteringatthecontrollers.(Views.py)‐(alsodidn'twork)
• SinceSQListhefastest,Ifilteredouttheentriesatthedatabaselevel‐(workedoutpreZywell).
• AorderofNisany3mebeZerthanorderofN2
irrespec3veoftheextraspaceused.
• A`eralltheop3miza3onsthepagenowloadsinlessthan1second
InstructorView
hZp://opendsa.cc.vt.edu/teacher_view/• Allowsinstructortoseefullstudents’exercisesummary,aswellasexercises’studentsummary
• Displayseachstudent’sstatusesforexercises• Displayseachstudent’stotalscore• AbilitytoexporttabletoCSVfileforrecords• Displaysstudentsineachcategoryforeachexercise
ExerciseSummary
CSVFile
ProgressSummary
Challenges
• Display:becauseofextensivenumberofrowsandcolumnsforusersandexercises,scrollingcancauselackofreadability
• Storage:havinganonlineviewisaccessible,butnotusefulforaninstructor’srecordkeeping
• Performance:becauseofdatabaseschema,itisexpensivetoreadinforma3onfromvarioustables,causesthepagetoloadveryslowly
Solu3ons
• Display:Fixedtableheaders,aswellascolumnsinordertokeepthelabelsfixedwhilelookingatindividualstudent’srow
• Storage:ExporttoaCSVfileop3onallowsinstructortodownloadthetableandfilteritforvariouspurposes
• Performance:Storedproceduresinthedatabasetoquerytablesforsingleorsubsetofrowsversusreturningallentriestofilterinview
DeveloperView�
• Developers/Researcherswouldliketo– Improvethesystemcontents
– Summarizethestudentbehavior
• Visualiza3onofindividualstudent’sac3vity– Overallperformance– Exercisesummaryanddetails
• Informa3onretrievalfromlogdata– Morethan20millionbuZonclickinterac3ons
Thedeveloperviewisavailableat:hZp://opendsa.cc.vt.edu/developer_view/�
ProficiencyDatesDistribu3on�
ProficiencyDatesDistribu3on
ModuleLoadingFrequency �
ExerciseSummary:Time�
ExerciseSummary:Visits�
ExerciseDetails�
Implementa3on�
• Challenges– Morethan20millionbuZoneventsinonetable• document‐load,document‐unload• forward,backward,etc.
– Interpretthedatavia.visualiza3on• Implementa3on– Precisequery:necessaryeventsareretrieved– Bargraph:html&CSS– Linegraph:JavaScript
FutureWork�
• StudentView• InstructorView– Progresssummaryview
• DeveloperView– Timelineview
• Wri3ng– Documenta3on
– Finalreport �