Guide to On-line Homeworks

(A Computer Science Education Project)

[what] [purpose] [design] [maintain] [use]


The On-line Homework project is a creation by Miss Amanda Silver and Miss Danah Beard to allow TAs to quickly create diagnostic homeoworks for students to use. All homeworks are in the form of multiple answer with one correct answer. If the TAs wish, the students have the opporunity to go on to questions of the same topic (say parameters) or move on to a different topic. When a student submits an answer, it is stored in a file for the TAs to evaluate what students understand and what they do and do not understand. In addition, the student gets immediate feedback about the question (both the correct answer and why their answer is right or wrong).

The form to create a new homework is available at: http://localhost/courses/csed/useful/homeworks/homeworkCreation.html

An example homework starts at: http://localhost/courses/csed/useful/homeworks/results/example/1.html


Often students are not quite aware of what they understand and what they do not understand until they try to use it. The purpose of this project is to give students a means to self-evaluate their knowledge. While the TAs will be able to record what students as a whole understand or do not understand (via tallies saved when students participate in the homeoworks), they will not use any of that information to evaluate the students with respect to grades. In fact, names will not be attached to data. Students would be able to take the homeworks as many times (or never) allowing them to be responsible for their own education. Since it is not being used for strict evaluation, the questions will not be limited by time. This tool is entirely intended to help students evaluate their progress. Many students will not take advantage of this but those who will can benefit greatly.

Design Issues:

Our major design issues fell into three categories:

One of the biggest concerns with the issue of purpose was whether or not to develop it to be a secure system for future use as a means of actual grading. Unfortunately, this started an ethical debate. Questions raised included:

The final concern convinced us that our purpose should be to allow students to self-evaluate their knowledge so that they could improve on their weaknesses. If we only used it as a method of evaluation, students would not be able to take advantage of learning from the system, only try to answer it correctly. This way, if a student makes a mistake, (s)he can go back and try other answers or move on to a similar question rather than just going to the next topic. In addition, students could test their knowledge again. Although the other question raised implementation concerns, we considered the pedagogical concern to be most important.

Choosing languages became an issue throughout the project. We originally intended to use csh and javascript but decided that perl would be the most effective. The biggest disadvantage to using perl was that we needed to keep everything localhost (we cannot allow the world to be able to write to our directories because this presents a security hole). We decided that this was acceptable because perl gave us the necessary mobility to keep information across time and record results.

Layout is an ever-changing process. We had to weigh the strength of the scripting language with the look and ease of use of the page. In order to strike an acceptable balance, TAs must give information about how many questions and how many answers they want for each question before they actually write the questions/answers. Unfortunately, this means that the TA has to be thinking ahead when they create the system. The other issue is that when information is added later, the adder needs to manually edit some of the pages that were created previously. Primarily, this happens when TAs want to add more questions to a topic or link next topics to previous topics. We are still working on devising a better, less manual way for TAs to do this.

Maintaining the Project

One of the major maintance issues is tweaking. While the project has been created with the user in mind, we have not had ample time to test it for its actual use. TAs will need to go through, create questions and test it. When they get feedback, they may need to go through and fix it. Hopefully we can be there to work on it.

One of the major issues right now concerns permissions. When this is ported to another class, a directory owned by www and group rwx will need to be created. In addition, the scripts will need to be modified. Any time a directory is set (usually at the top), it will need to be re-directed. This should not be a big deal but something that will need to be done.

The Use of the Project

The project should only be used to create systems where people can evaluate their own knowledge. Any feedback should be sent to Amanda and Danah.