Gradiance Student Guide

Gradiance is a system for creating and automatically grading homeworks, programming laboratories, and tests. Through the concept of "root questions," Gradiance encourages students to solve complete problems, even though the homework appears to be in a multiple-choice format. This guide explains how students can make best use of the Gradiance system (see Homework Hints below) and steps you through the critical operations.

Account Management

Creating Your Account

To use the Gradiance system, you will need an account. Go to and create your account.

You will be asked to provide:

Joining a Class

There are two kinds of classes you can join: instructor-generated classes and "Omnibus Classes." The latter are for students who wish to use the Gradiance system but are not taking a class for which the instructor has generated their own Gradiance class.

After establishing your account (as in Creating Your Account above) go to, and log in. You will see your home page, where you can enter a Class Token, which is an eight hex-digit code. This code will either be the code given to you by your instructor or one of the codes for the omnibus classes.

Omnibus Classes

The current list of omnibus classes is:

Hopcroft-Motwani-Ullman Automata: 4A379A91
Garcia-Ullman-Widom or Ulllman-Widom Databases: E68759F1
Aho-Lam-Sethi-Ullman Compilers: 467454C2
ElMasri-Navathe Databases: 6F977376
Tenenbaum OS: 328E417C
Stallings OS: 72377233
Liang Java: D978043E
Rajaraman-Ullman Data Mining: 1EDD8A1D
Tan-Steinbach-Kumar Data Mining: 3426AAF1
Carrano Data Structures: D89F06AD
Aho-Ullman Foundations of CS: 8CD5ED01

Your Gradiance Home Page

When you log in, you get a screen with a left menu that covers basic account-management functions, and a body that allows you to access your class or classes. In the left menu you will see options:

At the top of the page body, you will see a "class portfolio." You should find listed there all classes you are taking and that use Gradiance. Clicking on one of them will send you to the home page for that class. From there, you can work your assignments, as described in the next section.

Doing Your Class Work

When you enter a class, the left menu changes. The new options are:


Homeworks appear to be sets of multiple-choice questions. Normally, they will be "root questions," which means that each time someone opens the assignment, they get the same question, but a different choice from among one correct and three incorrect answers. Normally, both the questions and the choices appear in random order.

While different instructors may employ different policies, normally you will be allowed to open the same assignment as many times as you like, and you may submit it as many times as you like. However, to prevent rapid-fire guessing, your instructor may require a minimum interval between openings of one assignment, e.g., 10 minutes. Your goal is to get a perfect score, eventually. That is, the purpose of Gradiance assignments is not to test you, but to help you learn the material. It doesn't matter if you don't get it right at first; you'll be given help (discussed below).

If you are in an omnibus class, the policies are a bit different. You can open homeworks with no minimum interval. However, you are given only 10 tries at each homework. Also, there is no deadline, so the solutions do not become available -- only the explanations for errors.

Hints for Doing Gradiance Homeworks

Most, if not all, questions you will be given have "choice explanations" for the incorrect choices. Your instructor will probably allow you to see these immediately after submitting a homework. While the nature of the choice explanation varies from question to question, it usually either explains why your answer is wrong or gives you an outline of the problem's solution. Some students like to answer wrong the first time purposely, to get the hints, and then reopen the assignment and start working "for real."

We suggest that you think of each Gradiance question as if you were asked to work an ordinary, "long-answer" question. Work that question and keep the answer handy on a piece of paper. The multiple-choice question will typically sample your knowledge of the correct answer. For example, if the question calls for you to identify one tuple in the join of two relations, you should compute the whole join and leave it in front of you. You'll then find it easy to identify the one tuple out of four choices that is in the join.

If you have worked the problem correctly, you'll find the proper choice on the paper. If you have worked the problem incorrectly, you'll probably make a wrong choice and will get a choice explanation that may help for the next time you try the assignment. Note that if you make no choice, you will not be given a choice explanation, so always try something.

After the due date for your assignment, you will be allowed to view your final submission. Typically (instructor's option), with each question will appear a solution to the problem as a whole, along with the choice explanation for any wrong choices.


Lab Projects are different from homeworks. You are asked to write small programs, such as SQL queries. As with homeworks, you are allowed to submit labs as many times as you like. Each time you submit, you get a response for each of the queries that you tried to answer. There are three possibilities:

  1. Correct. You hope for this response, whose meaning should be obvious.
  2. Syntax Error(s). There were some syntax errors in what you wrote. The message from the compiler is passed along to you.
  3. Algorithmic Errors. The query was syntactically correct but gave the wrong answer. You will be offered a chance to see an example of what went wrong. That is, you can see, on a sample input, what your code produced and what correct code would have produced on the same input. Often, studying the difference suggests what you are doing wrong.

Hints for Doing Gradiance Laboratories

Since these labs normally involve writing a number of independent pieces of code, e.g., SQL queries, we suggest that you work on one part at a time. Submit it and see if you got it right. Remember that you will be given either a syntax error message or an example of how your code goes astray, if the program is wrong. We remember that you got a part correct, but we don't remember the exact code you wrote.

Homeworks and labs behave differently when you try to resubmit. With labs, we know it is important for you to retain your work, edit your queries, and try again. Thus, hitting the "back" button once or twice gets you to your most recent lab submission, and this page can be submitted as many times as you like. Homeworks, on the other hand, are designed to sample your knowledge of the solution to an underlying problem. You may submit each version of a homework only once. If you try changing guesses on a homework page you have submitted and then resubmitting it, you get an error message, and this work will not be accepted. You need to reopen the same assignment again, get different answer choices, and pick from among the new choices.