E. Harley1, Z. Harley2

1Ryerson University (CANADA)
2SkyThink (CANADA)
We have developed an e-learning and e-assessment tool for the Java programming language. Our tool presents information and questions to the student and provides immediate feedback to answers provided. An answer may be a word or a sentence or a computer program that must meet specifications given in the question. The results, packaged for the instructor in specially-formatted file, contain the student's answers, the questions as they were presented to the student, and an automated assessment. The tool is platform-independent, capable of awarding partial credit, and includes security features to improve evaluation integrity.

Although the World Wide Web (WWW) is a common vehicle for e-assessment and e-learning, we decided to build a desktop application because it offered greater flexibility and power. In particular, we wanted to use the desktop's full-featured Java compiler, allowing us to interactively compile and evaluate students' code. Moreover, the off-line nature of this approach makes it more suitable for a formal examination setting, in light of the difficulty involved in restricting access to on-line resources.

We have used our tool in two different but complementary scenarios.

1.Student-driven e-learning: The student uses the tool to gauge his or her own mastery of concepts taught in class. This form of self-assessment allows the student to learn on any computer and at any pace. Results are submitted to the instructor to measure class progress and participation.
2.Controlled e-assessment: The tool, which will have become familiar to the student during e-learning, is used in a controlled environment (i.e., supervised and off-line) to administer a test or an exam. The results submitted are used for grading.

With our tool, the instructor is able to present two fundamental question formats to the student:

1.Text-based: This general format is amenable to various popular types of stimulus-response questions, including multiple choice, true/false or fill-in-the-blank. Text-based questions are convenient for testing concepts as well as snippets of a few lines of code.
2.Code-based: In this format, the student is asked to submit a full Java program. The tool can be provide the student with one or more “skeleton” files that contain the outline of the solution. In preparing an answer, the student is free to use any editor or integrated development environment (IDE). The answer submitted by the student is compiled and evaluated automatically by the software.

In order to ensure the integrity of the results submitted, we included a layer of cryptographic security. Using a public/private key system, the results file is encrypted in such a way that only the instructor can read its contents. The decrypted data contains not only the evaluation, but also the questions presented to the student and the answers submitted. There is a page for student comments so that student can give feedback or draw attention to answers that the student thinks should be checked manually.