Does writing code for an assignment after seeing similar code online count as plagiarism? In my compilers class assignment, we were asked to write some MIPS code. One of the problem involved implementing fact() function as a sub-problem. I wanted to implement the standard recursive version

int fact ( int n )
{
     if ( n == 0 || n == 1 )    return 1;
     return n * fact(n-1);
}


As I am new to MIPS, I looked up here on how to implement recursive routines. Unfortunately, the link explained recursion using fact() function itself. As I didn't want to "copy" code, I just understood the concept of recursion and wrote the fact myself.

But my fact code seems very similar to the one I looked up to learn recursion in MIPS. Is it for the fact that I glanced at the code already or the fact that factorial is really a very simple function with hardly 10 lines in it? Am I guilty of plagiarism here?

Here is my code

fact:   addi $sp, $sp, -8       # decrement SP to make room for pushing input var and ret addr
        sw $ra, 4($sp)          # save $ra
        sw $a0, 0($sp)          # save input on stack

        li   $v0, 1             # Set v0 to 1 initially.
        beq  $a0, 0, fact_ret   # if ( n == 0 )    return 1;
        beq  $a0, 1, fact_ret   # if (n == 1) return 1;

        addi $a0, $a0, -1
        jal fact                # Recursive call fact(n-1)
        lw  $a0, 0($sp)
        mult $v0, $a0           # n * fact(n-1)
        mflo $v0                # Save answer in v0
fact_ret: 
        lw $ra, 4($sp)          # restore $ra
        addi $sp, $sp, 8        # restore $sp
        jr $ra                  # return from function
I think this is very subjective question and will depend on who the judge is. I would suggest you communicate exactly what you wrote in the question to your professor and let him be the judge. If he thinks yes, he might assign you some other relevant exercise to evaluate your learning.

By actually being honest about your situation, you will likely be treated in a positive light.