Publication | Closed Access
AutoStyle
27
Citations
11
References
2015
Year
Unknown Venue
EngineeringEducationSoftware EngineeringSoftware AnalysisProgramming Language TeachingComputational LinguisticsLarge-scale Automatic GradingLearning SciencesCode GenerationAlpha TestProgramming StyleLearning AnalyticsComputer ScienceCode RepresentationSoftware DesignProgram AnalysisSoftware TestingProgram ComprehensionEducational AssessmentLanguage FeaturesLinguistics
While large-scale automatic grading of student programs for correctness is widespread, less effort has focused on automating feedback for good programming style:} the tasteful use of language features and idioms to produce code that is not only correct, but also concise, elegant, and revealing of design intent. We hypothesize that with a large enough (MOOC-sized) corpus of submissions to a given programming problem, we can observe a range of stylistic mastery from naïve to expert, and many points in between, and that we can exploit this continuum to automatically provide hints to learners for improving their code style based on the key stylistic differences between a given learner's submission and a submission that is stylistically slightly better. We are developing a methodology for analyzing and doing feature engineering on differences between submissions, and for learning from instructor-provided feedback as to which hints are most relevant. We describe the techniques used to do this in our prototype, which will be deployed in a residential software engineering course as an alpha test prior to deploying in a MOOC later this year.
| Year | Citations | |
|---|---|---|
Page 1
Page 1