Making a Codecheck Assignment

Why use CodeCheck?

  1. CodeCheck is anonymous. You don't need an account. Your students don't need an account.
  2. CodeCheck is author-friendly. Setting up programming problems and assignments is easy.

Follow this link for authoring a new programming problem. This page covers the details about making assignments.

Crash Course

A CodeCheck assignment can contain

Let's set up an assignment with these two problems.

  1. Visit this page. In the text area, provide one line for each problem that you want to include in your assignment.
  2. With a CodeCheck problem, paste in the URL (in our case,
  3. With an interactive book activity, mouse over the desired activity in the Big Java/C++/Python ebook. (Don't have an ebook? If you have a VitalSource instructor account, you can request an examination copy. Or contact your Wiley sales representative.) You will see a yellow rectangle with a code.


    Try it out with the sample problem above. The ID is ebook-bjlo-1-ch04-sec2-walkthrough-1.
  4. After providing the URLs/IDs, click Save.


    You receive two URLs. Give the public URL to your students. Keep the private URL in a safe place. You will need it later.

Student Perspective

When visiting the public URL, your students will see the following:


They work on the problems, and CodeCheck remembers their work and scores. They don't have to do all the work in one sitting. They can resume their work later by visiting their private URL.

Give your students the following link for more information:

Viewing Submissions

To see student work, or to edit the assignment, visit your private URL. You see the scores of all submissions. If you like, you can view the submissions of individual students by clicking on the links.


CodeCheck doesn't know anything about your students, other than their CodeCheck IDs and their submissions. For grading, you will want to associate their IDs with information that is useful to you (such as their names and student IDs). Collect your students' CodeCheck IDs (by email, a Google form, a quiz, whatever). Prepare a text file with the IDs, followed by identifying information, e.g.

uwas-pyte-giwo-ryno 112358 Flintstone, Fred
ymut-iroq-aroh-hulo 132134 Rubble, Betty

Paste it in the Roster text area and click Add to add your data to the table.p


This information is not sent to CodeCheck.

Alternatively, merge the roster information with a DB lookup in a spreadsheet. To import the data into a spreadsheet, click on the Download CSV button.

If you want to avoid the manual rostering, run CodeCheck as an “LTI application” inside your learning management system. Then the scores are automatically added to your gradebook.

If you want to build your own system for processing assignment scores, contact me for REST API details.


Each assignment gets a score between 0% and 100%. It is up to your LMS to translate the score into points. Your LMS will multiply the maximum points for the assignment with the score that CodeCheck reports.

The assignment score is the average of the problem scores. You can optionally provide weights for problems. Add percentages after the URLs or IDs. For example: 120%
ebook-bjlo-1-ch04-sec2-walkthrough-1 80%

All unweighted problems count as normal (100%) weight.

A problem with zero weight does not contribute to the score at all. Use this if a page only contains informational text or a video.

The student documentation gives some examples of score computations.

Frequently Asked Questions

How can I reuse assignments over multiple semesters?
You should clone the assignment each semester. Otherwise, you will view all submissions together, even those from past semesters. If this is a hassle, use CodeCheck inside a learning management system.
What is the purpose of the private URL?
Students need to transmit their CodeCheck ID to instructors for grading. It may happen that the ID is known to a number of people, for example, graders. None of them should be able to tamper with the student's work. Students should not submi their private URL to anyone.
A student has lost the private URL. Now what?
If you have the student's CodeCheck ID, visit the assignment with your private ID, list the submissions, and view the student's submission. You will see it as if you were that student. The student's private URL is displayed, and you can give to the student over a safe channel. If this is a hassle, use CodeCheck inside a learning management system.
Why don't you just use logins with email addresses and passwords like everyone else?
If I did, your university might not allow you to use the service. They might (somewhat reasonably) argue that one individual can't possibly put together a hack-proof regulation-compliant site that adequately protects private information.