90 likes | 105 Views
Grading Computer Programs. Rick Ord CSE rord@ucsd.edu. Overview. Proactive Cheating Countermeasures Turning in Programming Assignments Grading Programming Assignments Recording/Accessing Grades. Proactive Cheating Countermeasures. Why do this? Ounce of prevention …
E N D
Grading Computer Programs Rick Ord CSE rord@ucsd.edu
Overview • Proactive Cheating Countermeasures • Turning in Programming Assignments • Grading Programming Assignments • Recording/Accessing Grades
Proactive Cheating Countermeasures • Why do this? • Ounce of prevention … • MOSS (Measure of Software Similarity) • http://theory.stanford.edu/~aiken/moss/ • RentACoder • Discuss what level of collaboration is acceptable • Examples of disciplinary action
Turning in Programming Assignments • Various turnin programs/scripts • Academic Computing Services (ACS) • ~/../public/turnin.dest (good for OCE accts) • Gary Gillespie’s AutoGrader turnin script • ~/..pa#.tar.gz (good for course accts) • Homegrown Collect scripts • ~/PA#/file.java (good for course accts) • WebCT • WebDrive (WebDAV) or ssh / possibly chmod • (good if on Windows and want to collect/grade on Unix)
Grading Programming Assignments • Gary Gillespie’s students' AutoGrader Program • Collects, compiles, runs, diffs in autograder acct. • Graders examine diffs, output, source code • Graders edit guidelines file, auto-generate html reports, links sent to students via mailer script, record scores that get collected by Autograder http://ieng9.ucsd.edu/~cs30x3/scores/pa0/cs30xal_VCZwodOkrIWsyWi.html • Set of ksh scripts developed over # years (199s) • Some being rewritten in Python/Ruby (my students) • gillespie@cs.ucsd.edu
Grading Programming Assignments • Homegrown grading scripts • Manual grading • Programs with graphical output • Real-time graphics vs. bitmap files that can be diff’ed • Student’s code bombs Autograder • Non-standard file names / Makefile • Leave debugging output in code • Takes too long to compile / execute
Grading Programming Assignments (Tips) • Think of how to grade while developing the programming assignment • Allow redirect from/to files • stdin / stdout • Watch out mixing stdout and stderr • setvbuf() to set stdout to unbuffered • Watch out using /dev/tty • Command line options to read/output files • Only tests with this option? • GUI input / output components (manual grading?)
Grading Programming Assignments(Tips) • Have a solution implementation • Stripped optimized executable (C, C++, Assembly) • Obfuscated encrypted JAR (Java) • Sandmark (Univ. of Arizona) • Irreducibility/Buggy Code/Class Encrypter/Buggy Code
Recording/Accessing Grades • GradeSource http://www.gradesource.com/ Gary Gillespie's former students - ad-free version for UCSD courses - student roster imports & updates • WebCT / Blackboard • (ACS) http://iwdc.ucsd.edu/ http://webct.ucsd.edu/ http://www.webct.com/