PDA

View Full Version : I messed up - any advice?



Ninestar
12-14-2005, 05:34 AM
Ok, I've been doing a C programming assignment for a few months now. I found C hard to contend with, but scrapped together an assignment with hard work and help from friends and even some advice from this forum.

I work hard to present the assignment nicely and knew that I would have to explain my code to my lecturer in a 'little meeting' that he has with each student.
I've since found out that this meeting is what gets you all the marks for your assignment and if you do quite well then you've got a pass before even taking the exam.
I however did not know this until it was too late and so was unprepared for the 'chat' with my lecturer, in short i couldn't really explain my code and I ended up with less than 10%.

My lecturer is very arrogant and can be quite intimidating when grilling you on code, I just couldn't think properly or answer his questions and in short - I screwed up big time.
I'm then told that the actual paper assignment barely gains ANY marks and so I failed my assignment miserably because I screwed up on explaining the code.

As I said, I have scrapped the code together and when I completed a program I didn't really look at it again in detail. I did out in plenty of notes within the code to explain what's happening but that didn't save me at all with the questions that I was being asked. He was saying ''explain how this works", "what does this line do", "How would I do this" - and I just couldn't answer. My lecturer then starts accusing me of copying code as I could not explain it, which obviously I did not like to hear and so did 'bite back' a little bit.

It's very important I pass this as my company send me to uni on day release and if I fail I will lose my job. (I am however allowed a resit on all subjects - but don't look forward to continuing with C programming resits)

Any ideas or advice on what I can, should do or should've done?

Thank you.

cwr
12-14-2005, 05:48 AM
I'm sure it's not the only assignment you will have to do. Next time, be prepared to explain your code, obviously. If you can't explain every line, there's something very wrong with either your code or your brain, assuming you didn't copy it, as you said.

Ninestar
12-14-2005, 06:18 AM
I'm sure it's not the only assignment you will have to do. Next time, be prepared to explain your code, obviously. If you can't explain every line, there's something very wrong with either your code or your brain, assuming you didn't copy it, as you said.

Just by your reply I can tell you are advanced at C programming and it probably comes easy to you. What you have to understand is that if I get a line of code written down I might not necessarily know what it does a week later just by glancing at it. I am a complete newbie to it and find it VERY difficult to grasp. If I had have been prepared I know I could have coped with most the the questions thrown at me (except anything on bubble loops).

Govtcheez
12-14-2005, 06:56 AM
If you took the course again, would it be possible that you got a different lecturer?

cwr
12-14-2005, 07:00 AM
You need to know what it does a week later, just by glancing at it.

One of the signs of a good program is that it's readable by the person who wrote it. If you think you've written a line of code that's particularly sneaky and/or clever, then a comment would be useful.

Likewise, if a whole routine isn't immediately obvious, then explaining it in a comment would be good.

ober
12-14-2005, 07:04 AM
No offense, but it sounds like you didn't do any prep-work on your own before this meeting. Even if you write it 6 months before the meeting, take an hour or 2, if necessary, before the meeting and sit down and make sure you understand exactly what is going on. Whether you cheated or not is not the issue here. Getting a good grasp on the code you apparently wrote would be the first thing I'd try to do before meeting with someone to talk about it.

Good luck.

Maragato
12-14-2005, 07:18 AM
No offense, but it sounds like you didn't do any prep-work on your own before this meeting.
Good luck.
The point is that if you really did the work even that just the part of mounting the last version by the parts that were given to you you would know what each piece does even if you dont know how it is done. If you were familiar with C you would talk enought about it at least to pass the interview.

Ninestar
12-14-2005, 07:29 AM
This is exactly it, I didn't do any prep work on studying the code because I believed getting my assignment write up finished was the most important thing. Turns out I was pretty much mistaken!

SlyMaelstrom
12-14-2005, 07:36 AM
Yeah... here is the thing that the programmers reading this are having trouble figuring. You managed to DO the assignment without doing the prep work or understanding the code that's written in it. How can you possibly expect that code to be acceptable for handing in if you don't understand it?

That's like an apprentice-builder saying "Oh I didn't bother laying the plans out or understanding how the tools work cause I thought building the house was the most important thing."

Ninestar
12-14-2005, 07:52 AM
Touche SlyMaelstrom,

But in all honestly, that's pretty much what I done! I fumbled my way through the assignment without totally understanding what I was doing. I've still learnt a fair bit as times gone on though.

We did some simple things in class, and I understood basic loops and stuff - then when it came to the assignment I just used a bit of trial and error and got some help from people. I found it hard to understand, because I don't find it interesting, but I think I don't find it interesting because I find it hard to understand! Vicious circle if you ask me...

Govtcheez
12-14-2005, 07:58 AM
See if there's makeup work the instructor will let you do. Explain you didn't know how the work was graded, maybe.

Honestly though, if I was in the instructor's shoes and you weren't able to explain a program that you had supposedly written, it'd look a lot like you had cheated.

pianorain
12-14-2005, 09:14 AM
Honestly though, if I was in the instructor's shoes and you weren't able to explain a program that you had supposedly written, it'd look a lot like you had cheated.Agreed. Sounds a lot like poor HelpMePlease (http://cboard.cprogramming.com/showthread.php?t=53343).

This seems to be a common misconception about homework assignments. Many students believe the most important thing is to complete the assignment. That's obviously wrong. If the professor really wanted the assignment completed, the professor would probably write it himself/herself. Assignments are given as a learning oppertunity for the student. Simply completing the assignment is trivial; actually understanding the concepts necessary to complete the assignment is the important part. I completely agree with the grade you earned.

When I find a concept is difficult to understand, I take the same approach as I do when I program. I break it down and step back until I'm at concepts that I do completely understand. Then I slowly put it back together again. I encourage you to take a similar approach. Make a list of all the concepts you do understand, and then start building knowledge off of that foundation.

adrianxw
12-14-2005, 10:27 AM
I find it suprising that you had no idea of how an end of term was going to be graded. In any academic setting I have been involved with, the rules are laid out well in advance. You even say...

>>>
and knew that I would have to explain my code to my lecturer in a 'little meeting'
<<<

If you had kept up with your course work, and queried things you did not understand at the appropriate time, it would not have been necessary to cobble and crib something together at the last moment, and then be totally unable to explain "your" code.

Put yourself in your lecturers shoes, he has a student with an assignment, who is quite incapable of having produced it. He knows the net is full of help sites, many of which will do h/w assignments for students. What would you think if you were he?

At the end of the day, you need to be able to explain your code, and as some of the others have said, if you can't remotely explain your own code a week after you have written it, then it was poor code.

I also believe it is most unlikely that the year end results, (assuming a normal academic year), will be totally dependant on this one assignment. What you need to do is pull your finger out, and make absolutely sure that ALL the rest of your work in that course is the absolute best. If that means having to do some work, well, that's what your there for.

If you are incapable of doing this kind of work, it is time to move on.

novacain
12-15-2005, 02:06 AM
This is just from my experience in studing and writing code so feel free to ignore it....

If you had trouble writing the code then it would have been full of bugs.

If the code was full of bugs then you would have had to run it multiple times (and in great detail) to get it to work.

If you had debug the code multiple times then you would understand what each (important) line in it did.

If you had learnt the concepts the assignment was designed to impart then you can explain these concepts to others.




So lazy or cheating or both?

>>I found it hard to understand, because I don't find it interesting

Then do something else.

You will always be learning/teaching yourself something new in programming due to the speed that IT devlops new technologies.

sahil_m
12-15-2005, 11:31 PM
If I had have been prepared I know I could have coped with most the the questions thrown at me (except anything on bubble loops).


Ninestar, what is a bubble loop?

SlyMaelstrom
12-15-2005, 11:49 PM
Ninestar, what is a bubble loop?

I would say he's either talking about bubble sorting (with for loops) or he's talking about nested loops.

Dweia
12-16-2005, 01:03 AM
Touche SlyMaelstrom,

But in all honestly, that's pretty much what I done! I fumbled my way through the assignment without totally understanding what I was doing.

I don't know about you, but if I didn't know how to write the code, I just got lucky writing random things down, I would not expect to get a good mark.

To take the builder example again, would you want to hire a builder who didn't know hwo to build a house?


I found it hard to understand, because I don't find it interesting, but I think I don't find it interesting because I find it hard to understand! Vicious circle if you ask me...

I was always interested in programming, and always wanted to learn more, even before I could tell you what a variable was, and I was stuck at code like PRINT "Hello World!"

I remember the first write a program exam I did. I completely screwed up the code, the program didn't do what it was supposed to, was horrible, etc, etc.

However, I was able to demonstrate that I knew how to program, I could justify my inclusion of things, say how they worked, why I did it this way instead of that, so I still managed 88% :)

nvoigt
12-16-2005, 03:54 AM
He was saying ''explain how this works", "what does this line do", "How would I do this" - and I just couldn't answer. My lecturer then starts accusing me of copying code as I could not explain it.


The task that you were graded for was not to finish that one little assignment. You did that. The task was to learn enough on that subject to repeatetly produce equivalent solutions. And you failed. Miserably. You could not even explain your own one-time solution. This is not because your lecturer is strict or unfair, it's because you failed in your task.

Imagine if you had passed. A company hiring you would expect you to be able to produce a level of quality you can not deliver. From the perspective of a company, we once had an apprentice who had absolutely no interest and no learning ability concerning computers. That's fine with me, a lot of people don't care and don't need to know about computers. But she was trying to be a software engineer. No matter how many times we taught her stuff, she had forgotten it right next day. After 18 months she could not even write a for loop. And you know what ? She passed her final school exam. I don't know how that happened, but the conclusion is that we will never ever hire someone with any grade from that school because grades from this particular school obviously mean nothing. They'd probably let a loaf of bread pass, as long as it's on time and has a pencil.

Your lecturer was right. You messed up. Next time, learn something instead of just "doing the assignment".

Sorry for sounding harsh, but I might be the one ending up in a team with you. And if you got your grade without being able to produce a similar result in the future, it just means unpaid overtime doing your work. All you could do would be making coffee. And I don't even like coffee.



It's very important I pass this as my company send me to uni on day release and if I fail I will lose my job. (I am however allowed a resit on all subjects - but don't look forward to continuing with C programming resits)


May I ask why you are doing C programming ? If you need it in your job, then you should really use it more. Look for opportunities to sharpen your skills in real life scenarios. If you can identify with the task, it's way more fun and an easier learning experience than just doing homework assignment #289.

Salem
12-17-2005, 04:25 AM
> Any ideas or advice on what I can, should do or should've done?
> I've been doing a C programming assignment for a few months now. I found C hard to contend with
> It's very important I pass this as my company send me to uni on day release and if I fail I will lose my job.
Seems to me you need to find another job, doing something else which isn't C programming.
Doing a job which you do not enjoy, find difficult to do, and fear losing because of it is really going to suck big time. That's a really crappy way of spending 8 hours a day IMO. That kind of worry follows you around even when you're not at work.

If it's a medium to large sized company, there's probably plenty of other things that you could do. If you know they move people around within the company, then perhaps talk to some managers in other areas which interest you would work, or maybe the personnel department. Being proactive now would certainly be a lot better for everyone concerned than being sacked much later on for failing at your job.

> Sorry for sounding harsh, but I might be the one ending up in a team with you
Been there, done that. And I would not trust them to fetch coffee!