4 ms·
GitHub Classroom and Travis CI Improved Students’ Grades
- JCharante 8y agoWouldn't this be the case for any class that supplies an auto grader or test suite?
- DanFeldman 8y agoYup, but using Travis as the platform for an autograder makes it A LOT easier for teachers/professors with less access to dev time to implement a great iteration platform. At Berkeley our intro classes had world-class infrastructure autograders (release I believe as ok.py https://okpy.org/ https://okpy.org/) - but I imagine less staffed courses could benefit from a workflow like this. Plus, it gives students the benefit of familiarity with actual tools that are in use in the industry.
- z3t4 8y agoHow can they learn anything when there is no one looking at their code !? It would probably be easy to cheat too.
- livueta 8y ago> It would probably be easy to cheat too. When I was in college a few years ago, one professor included this thing[1] in his (shell, spit and duct tape) auto-grading system. It works by generating an AST of the input and comparing it against a bank, e.g. other submissions from the same class or prior years' classes. Apparently, it worked pretty well for flagging potentially problematic portions for manual review. In a well-designed implementation of an auto-grading pipeline, I doubt that plagiarism is much more of a problem than in a purely manual grading scheme. --- [1] http://theory.stanford.edu/~aiken/moss/ http://theory.stanford.edu/~aiken/moss/
- Scaevolus 8y agoMinor correction: moss operates at the lexical/token level, not the syntax tree. It matches fragments like IDENT EQUALS LPAREN NUMBER TIMES IDENT RPAREN DIVIDE NUMBER -- so renaming and changing indents (the most common cheater obfuscations) don't change anything!
- ssivark 8y agoSecond hand anecdote: In a university C++ class, programming assignments were headed by deducting points for number of compiler errors, once you roughly had all the pieces. So students would write lots of code that roughly looks relevant to the problem and then put a semicolon on the main() function declaration to make it look like there was only one compiler error :-)
- wisty 8y agoPeople who wanted to cheat were already cheating.
- bsder 8y ago> How can they learn anything when there is no one looking at their code !? Well, compiler errors are actually quite good nowadays. And, generally, the test cases are good enough that you make sure that the corner cases are handled. > It would probably be easy to cheat too. It depends upon what you mean by "cheat". Generally, as the instructor, you hold back some tests that you bring online once the assignment "closes". This prevents people from cheating the tester. If you mean "cheat" as in "have someone else write your code", well, that's what exams are for.
- pavbelshippable 8y agoHa Ha, this is funny. It looks like Travis CI is confused now on what to do next. CI is becoming a saturated market. Brand association with students? This looks too childish. Travis CI didn't see this coming though. And the truth is CI tools are being consolidated into DevOps platform or being removed from the market.