So this is the situation I’m currently facing. Basically I received a D in my class (My fault for poor grades overall) that I need a C in. It was pretty close, Final was curved so I ended up around the 69 mark. Problem comes from one assignment near the end of the semester that was worth 5%, 2 problems, pair assignment. Problem 1 was graded fairly although worth nearly nothing 24%. Problem 2 was a problem on Racket programming language which we never went over before receiving the assignment. This is exactly what the problem stated.
Download Dr. Racket and use it to complete the following programming exercises. NOTE: You can use all primitive functions covered in the lectures including: append, pair, cons, null, car, cdr, map, eval, display, write, read, input, set! begin, cond, if, else, member, all predicates covered (eq?, eqv?..), let, let*, letrec, symbol, define, lambda, length, list, quote (if there is any other functions that was covered in the lectures and is missing here, please let me know. You are allowed to write extra helper functions if you need to.
Seems pretty straight forward, what follows are a bunch of problems you need to solve using the language such as “Write a function that accepts a list an returns the even numbers” etc… So we go ahead and solve the problems, and each problem gives you a sample output so that you know the correct output you need to get, basically it’s easy to check your answers. Anyway, finish that up and turn it in after everything looks good. Couple weeks later we get the assignment back graded and get a 30%, now since this assignments i worth 5%, it drops me a good amount under my safezone. Problem 1 we received 18% credit, not bad, expected since it was worth nothing. However on problem 2 we received a measly 12% credit, so first I’m thinking okay where did we go wrong.
Two mistakes:
- Instead of having the function return, it prints the output, okay makes sense definitely worth points off nothing crazy.
- This is the main point of contention, apparently we used functions that we were not allowed to use such as ‘for’, ‘when’, ‘unless’ and a few more. Now if anyone here knows racket, they know these functions are built into the language (found by reading the documentation) much like while loops and for loops are built into java or c, so it only makes sense to use them.
The problem I have here is that the instructions are ambiguous, the assignment never states being able to use only the functions listed nor how you should write the functions. At first I thought the reason the functions were listed out as all, is because they were recommended since we had never used Racket before. After emailing the professor about it, the reason given for basically no credit given is because of reason #2. So even though we spent hours working out the logic to these problems, all our work is moot since we used built in functions that the professor decided to never go over.
Additionally in the Syllabus, there is a resources section with 3 links, and all of these links link to a different form of Racket documentation that all include the functions we used for the assignment. When the assignment was assigned, we hadn’t actually gone over any Racket yet, so those of us who started it early would turn to these resources linked by the professor in order to complete the problems. In the end though we were penalized even though no specific instructions are given that we need to complete these problems a certain way (recursion apparently) or with certain functions in the assignment or anywhere in the powerpoints.
The two main arguments my professor has given me:
- In the Syllabus, using information “Not taught in class” is forbidden for the assignments. (For this one, since she links to the documentation containing the functions we used directly in the syllabus, I didn’t think this is much of an argument)
- Any further clarification for the problem was given during a lecture. (This is the one I’m worried about, I’m not exactly sure when this clarification was given but I can’t remember it. Either it was given very briefly or on a day I happened to be absent. It should be stated that nowhere else was there any mention of the clarification on the assignment given, not through email, or messages, or powerpoints.)
Now I’m not really sure what to do, it’s clear from how my emails are being ignored so frequently (I have to get the head of the department to email her so that she responds) that my professor has no intention of budging on this point. So I was thinking of doing a grade appeal, but I’m aware that these are usually pretty unsuccessful and I’m not even sure I’m truly justified. I would need a 60% on the assignment to pass the class with a C, so I’d only need half credit on question 2 to pass. I usually try to take responsibility for my failures, however in this case I don’t really feel the problem 2’s instructions were stated clearly enough. Any thoughts?