"The teacher said that you did not do your homework."
Translation:Öğretmen senin ödevlerini yapmadığını söyledi.
I don't think it should be considered wrong (you could try reporting it). It's an uncommon alternative. The word directly before the predicate (the verb in this case) focuses emphasis on itself. So your sentence is like "The teacher said that you did not do your homework.".
Not using senin is acceptable & natural; though it does create ambiguity since yapmadığını can also mean "that (s)he hasn't done".
yapma - don't do
yapma - dik = yapmadiğ - is not done
yapma-diğ -in - your not doing respec. yapma -diğ -i - her/his not doing
yapma-diğ -in - i accusativ respec. yapma -diğ -i -(buffer)n - i
It is in accusative because of söyledi. It is the direct object of it. "He said .... your not doing"
I don't know if this is an answer, but it is the object of the verb: said | that you did not do or (more or less) told about | your not having done
There may be something more formal to say about -dik- constructions (along the lines of SheridanZhoy's comment) but that's all I've got.
it is 'your homework' = 'senin ödevlerin'. but there is the subordinary clause left: 'that you did not do'. So we have to translate literally 'your not doing your homework'. yap -ma (negation) dığ (DIK)-ın(gen)-ı (acc) = your not doing (accusatıv object) Now we have to put it together with 'your homework. - senin ödevlerin.' Means the possessed word get an addional 'ı'. We get 'yap-ma-dığ-in-i ödev-ler-in-i = your not doing your homework = your homework that you did not do. Hope that will help you