WARNING: University regulations are serious about plagiarism, copying, cheating. The Computer Science Graduate Committee will enforce serious penalties, in particular disqualification from the graduate program, for any student(s) found to be cheating.
I certify that the submitted papers are solely my own work. I have not offered these results to others and I have not received results from others. I understand the possible penalties for violations.
The new exam structure has 3 problems per exam. You select 2. We look at the exam and decide whether or not you show a reasonable amount of understanding of the subject. In that sense the result is simply a boolean yes (pass) or no (not a pass). To help us decide, we initially grade each problem on a scale of 0-20, resulting in a maximum score of 40 points.
Note that the initial scores on a paper are just that: initial. The committee reviews the exams after that to make a final determination. There may be differences in scores between graders and we pay particular attention to this in cases where it makes a difference in the outcome. But, again, the initial scores you see are a guide for the committee and borderlines will be evaluated for a reasonable understanding of the subject.
With respect to the new exam structure, the committee has discussed general guidelines for determining a pass. The transition year Fall 2005/Spring 2006 will be used by the committee to refine these guidelines. As in the past, the committee is interested in a good, solid solution to one question. That, by itself, is important but the other solution will have an effect. Note that even with guidelines for scoring a pass, the bottom line is that the committee has to make borderline decisions, and these are always determined by a reasonable understanding of the subject.
As before, the committee recommends that students do the best they can on each exam - and then it is the committee's task to evaluate results.
int myFunc() {
some code
}
/*1*/int leaf_nodes(/*2*/ BINARY_TREE T) {
if (T == NULL) /*3*/
return 0; /*4*/
else
if (T->left == NULL && T->right == NULL) /*5*/
return 1; /*6*/
else
return /*7*/ leaf_nodes(T->left) + leaf_nodes(T->right); /*8*/
}
But be careful of one thing. If you use special, language specific, structures like Arraylist, you could get into trouble. Don't use a structure that loses "linked list". Don't start using some array, when the problem calls for "linked list". That is, if the problem says "linked", then there better be a ".next" or "->next" and not L[i] or L.elementAt(i). There's a crucial difference between an array and a list.