I have already written about corrections and peer reviews but I believe I left out a very important part of the process. See up until this week I didn’t appreciate the value of the defense. The defense is the counter to corrections. The student being evaluated has every right to fight for their code. If the grader is being overly harsh, or simply not giving credit where credit is due, then it is up to that student to stand up for what they have built. Up until now I had pretty much keeled over and taken my classmates word for it when they told me I had made a mistake. Truthfully, I didn’t feel like I knew enough to argue with them. However, a couple of events have led me to change my take on the subject.
Firstly, I passed a day for the first time. After nearly two whole weeks of failing, I finally got credit for a set of individual projects. Since this was my first time I had a lot to learn from the situation. Mostly, I think the grades that your classmates give you are averaged. Together that average is also compared to the grade 42’s strict grading system Moulinette gives you. If you do well enough on both it is still possible to pass even if you are not as successful as you had hoped. Moulinette has the power to make you feel that way. Therefore, it is important to realize that by successfully defending your code and convincing your correctors you deserve a high grade it may be possible to bring up your average. The higher your average and the higher your grade the faster you will level up.
Secondly, my group and I successfully defended our code against the 42 staff. Only one project every week is graded by someone other than Moulinette. That project is the massive group project every student must complete with two randomly assigned classmates. These projects are large and difficult, taking nearly the entire weekend to complete. My group and I had worked hard making sure our program worked against a large variety of test cases. However, the staff member grading it thought they found a test that broke our code. At that point, he was dead set on giving us a zero.
As usual, that was hard for me to take. Not really the failure but the lack of respect for this beautiful program we had spent all weekend creating. I argued and argued but his only response was “It should work, It should work.” He really did give us a zero but I was so convinced we had built a perfect program that I demanded he gives us the test case we had failed to pass. I took that case back to my desk and along with the rest of my team, we tried to find the error in our code. As it turned out our program was actually catching a problem with his test case that we were told to catch. One of the points I had tried arguing earlier. With our proof, we took the program back to the staff and demanded they reevaluate our program. They did and since we were right and it wasn’t our program that was broken they ended up giving us a 100.
100 is a big difference from zero, so it felt good to get reaffirmation for our effort. I think any student who is in the piscine or considering coming should learn from our experience. Every project you complete is beautiful. Considering you tested it and truthfully feel it works then that is something to be proud of. Even if the first person who comes by to look at it finds something wrong, don’t be upset, take that as an opportunity to learn. And if you are sure you have a thoroughly working program don’t be afraid to stand up for it. Honestly, it is a delicate balance between recognizing your mistakes and fighting for the code you believe in.