CodeCheck is an anonymous, author-friendly autograder. It is optimized for simple programming assignments that provide practice and build confidence.
Why CodeCheck?
CodeCheck makes authoring of Parsons problems incredibly easy. View user guide Pseudocode Puzzles
The CodeCheck Tracer lets you author code tracing problems. View samples and user guide
CodeCheck is an open source project.
Check out this example. If your report looks like this, keep on trying until all test cases pass.
Thanks to Nicole Hite from the University of North Carolina at Charlotte/zyBooks for this video tutorial.
If you use the assignments feature, visit the assignment page with your private URL.
If you use CodeCheck as an LTI tool inside your learning management system, you can browse student work by visiting the assignment as an instructor.
jarsigner -verify Submission.signed.zip
. You should get a message jar verified
.THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
cay@horstmann.com
).CodeCheck collects the following data:
The “CodeCheck ID” and “edit keys” are randomly assigned. As long as learning management systems are properly configured, they assign random LMS IDs.
The data is used to display assignments to students, to collect submissions from students, and to display submissions to instructors. Instructors can see submissions for the assignments that they create.
Assignments are stored indefinitely. Submissions may be periodically removed.
The data is stored in virtual machines and databases of commercial cloud providers. There is a risk of that data to become public. If you are concerned about disclosure, do not include private information in problems, assignments, or submissions. In particular, do not provide your name, college ID, email address, telephone number, or any password.
Log files may contain IP addresses from browser requests. Log files are stored for a few days and may be analyzed to fix problems with the service.
CodeCheck uses browser cookies to manage session state, and to store the “CodeCheck ID” and the “edit key”.
CodeCheck does not use third-party cookies. CodeCheck does not send any data to third parties except to learning management systems when chosen by instructors.
To exercise your “right to be forgotten”, send an email to cay@horstmann.com
with the URL of the assignment, programming problem, or submission that you wish to have removed. Be sure to include your CodeCheck ID+edit key or your LMS ID.
Thanks to Sunita Rajain and Tyler Wasniowski from San José State University for developing a predecessor to the assignments feature.
Thanks to Chaz Chang from San José State University for implementing the “edit URL” feature that enables instructors to edit problems. Previously, an instructor had to make a new problem to fix any issues with a problem.
Thanks to Greta Yu from Evergreen Valley High School for implementing multiple editable areas. In older versions of CodeCheck, the entire code was in a single text area and it was not possible to protect code from being edited.
Thanks to Anthony Trinh and Hien Vu from San José State University for providing text areas for inputting and editing problems. Previously, it was only possible to upload a zip file.
Thanks to Arhan Chaudhury of Mission San Jose High School for reviewing the Python question bank and to Stephen Gilbert of Orange Coast College for cleaning up the C++ question bank.
Thanks to CodeDay project participants Oscar Diaz Vega, Anmol Gill, and Ngoc Nguyen, for adding features during Summer 2022. They closed issues
1,
3,
4,
8,
10,
15,
and 23.
Thanks also to Arhan Chaudhury for his help with issue
14 and the Seq
implementation in the tracer.
CodeDay 2023 project participant Thien Pham implemented support for Rust. Alexander Chang, Joshua Estebat, Yilan Fan, George Jones, Ledi Li, Stephanie Ng, and Jaehoon Song closed issues 5, 16, 17, 42.
Thanks to Sukanya Suranauwarat of Johnson & Wales University for suggesting and testing the Bash support.
CodeDay 2024 project participant Kristine Nguyen developed cloud installation instructions for AWS.
Their work made CodeCheck better, faster, and more prepared for the future. If you would like to participate, please contact me!
If you have found a bug with CodeCheck, then please send a report.
This is for reporting problems with the CodeCheck service only. If you are a student and have trouble solving an assignment, check with your instructor.