    INSTRUCTIONS FOR GRADER

    	PLEASE READ THIS and constantly refer to it.

    	The most important thing about grading
    		is to be CONSISTENT.

    	Have a system of assigning points.  Make an initial
    		judgement, but you can refine your system as
    		your experience with the assignment grows.
    		Give yourself a small amount of discretion
    		(but no more than 15 percent).

    	Give partial credits.  If a feature gets 4 pts,
    		you might want to give a student 2 pts
    		if he/she got it half-correct, etc.
    		On the other hand, do not go to 1/2 points.

    	Feel free to give feedback to students (this may
    		take a lot of effort, so use your judgement).
    		E.g., if you really like a solution, write
    		"Good", "Nice", or even be more specific.
    		You can note this down in the grade sheet.

    	Give me feedback:
    		Please keep a note book and jot down
    		information about various points about
    		the hw, and/or about individual solutions.
    		We can discuss them.

    		I am interested to know the names
    		of really weak students as well as
    		really good students.

    	HOW TO RECORD GRADE:
    		I prefer to do this electronically.
    		For the first hw, you need to enter all the
    		student names into a file.

    		I will give you a file with the correct
    		format (since I use a program to process the
    		grade file).

    	CHEATING: sorry that we need to discuss this.
    		Not that you need to deliberately look out
    		for this, but when you get a sense of
    		deja vu (didn't I see that earlier?), then
    		you might want to check.  Make a note
    		of the two names and discuss this with me.

    3. HOW TO GRADE HW1:

    	The basics of this hw1 are contained in chapter 4.
    	But I also jumped slightly ahead and told them
    	about how to use based addressing (using register BX).

    	The following points are already assigned
    	(please read hw1 for more details):

    	title:			2pts
    	greeting message:	2pts
    	program printout+name+ID: 2pts
    	2 sample runs:		2pts
    	diskette + executable
    		+ label on diskette
    		+ hw1.asm
    		+ myecho.exe	2pts
    	envelope		2pts
    	Use of DUP+EQU		4pts

    			(NOTE: they must use DUP+EQU wisely.
    			e.g. one student did this:
    				msg 	EQU 'hello!'
    				greeting DB msg
    			which is kind of silly.  Take off 1 point.

    	This is a total of 16 points.
    	You have about 14 points left to assign:
    		8pts, if their program runs exactly as required.
    			Partial credits:
    			--if it assembles without error, 2pts
    			--if it can echo the input correctly, 2pts
    			--if it can reverse the input correctly, 2pts
    			--discretion, 2pts
    		2pts, if they use base addressing [bx] properly
    		2pts, for reasonable comments
    		2pts, for your discretion (use them consistently)

    	REMARKS:
    	They have not yet learned jumps, so they need to
    	read 16 input characters (function 1, int 21h).
    	A bit painful, admittedly.  But they will appreciate loops
    	later.

    	WHAT IF THEY USE ADVANCED INSTRUCTIONS?
    		There are basically two classes of advanced
    		instructions that I know they use:
    	  (a) They are allowed to use loops and conditional jumps
    		but do not assign extra credit for this.
    	  (b) A few students use string processing instructions
    		(requiring the use of the DI, SI registers).
    		I do not like this as they defeat the purpose
    		of the exercise.  I am very tempted to deduct
    		points for this, but I did not announce this, so
    		let us not do it.
    	  However, if they use these advance
    		instructions badly (in a stupid
    		way, and get into bugs, then deduct points).