1 / 9

Grading Computer Programs

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 …

tracykelly
Download Presentation

Grading Computer Programs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Grading Computer Programs Rick Ord CSE rord@ucsd.edu

  2. Overview • Proactive Cheating Countermeasures • Turning in Programming Assignments • Grading Programming Assignments • Recording/Accessing Grades

  3. 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

  4. 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)

  5. 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

  6. 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

  7. 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?)

  8. 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

  9. 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/

More Related