Presentation is loading. Please wait.

Presentation is loading. Please wait.

Grading Computer Programs Rick Ord

Similar presentations


Presentation on theme: "Grading Computer Programs Rick Ord"— Presentation transcript:

1 Grading Computer Programs Rick Ord

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

3 3 Proactive Cheating Countermeasures Why do this? Why do this? – Ounce of prevention … MOSS (Measure of Software Similarity) MOSS (Measure of Software Similarity) – RentACoder RentACoder Discuss what level of collaboration is acceptable Discuss what level of collaboration is acceptable Examples of disciplinary action Examples of disciplinary action

4 4 Turning in Programming Assignments Various turnin programs/scripts Various turnin programs/scripts – Academic Computing Services (ACS) ~/../public/turnin.dest(good for OCE accts) ~/../public/turnin.dest(good for OCE accts) – Gary Gillespie’s AutoGrader turnin script ~/..pa#.tar.gz(good for course accts) ~/..pa#.tar.gz(good for course accts) – Homegrown Collect scripts ~/PA#/file.java(good for course accts) ~/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) (good if on Windows and want to collect/grade on Unix)

5 5 Grading Programming Assignments Gary Gillespie’s students' AutoGrader Program 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 – Set of ksh scripts developed over # years (199s) – Some being rewritten in Python/Ruby (my students) –

6 6 Grading Programming Assignments Homegrown grading scripts Homegrown grading scripts Manual grading Manual grading – Programs with graphical output Real-time graphics vs. bitmap files that can be diff’ed Real-time graphics vs. bitmap files that can be diff’ed – Student’s code bombs Autograder Non-standard file names / Makefile Non-standard file names / Makefile Leave debugging output in code Leave debugging output in code Takes too long to compile / execute Takes too long to compile / execute

7 7 Grading Programming Assignments (Tips) Think of how to grade while developing the programming assignment Think of how to grade while developing the programming assignment – Allow redirect from/to files stdin / stdout stdin / stdout Watch out mixing stdout and stderr Watch out mixing stdout and stderr – setvbuf() to set stdout to unbuffered Watch out using /dev/tty Watch out using /dev/tty – Command line options to read/output files Only tests with this option? Only tests with this option? – GUI input / output components (manual grading?)

8 8 Grading Programming Assignments (Tips) Have a solution implementation Have a solution implementation – Stripped optimized executable (C, C++, Assembly) – Obfuscated encrypted JAR (Java) Sandmark (Univ. of Arizona) Sandmark (Univ. of Arizona) – Irreducibility/Buggy Code/Class Encrypter/Buggy Code

9 9 Recording/Accessing Grades GradeSource GradeSource Gary Gillespie's former students - ad-free version for UCSD courses - student roster imports & updates WebCT / Blackboard WebCT / Blackboard – (ACS)http://iwdc.ucsd.edu/


Download ppt "Grading Computer Programs Rick Ord"

Similar presentations


Ads by Google