(Not a Teacher)
Both are fine for what you're trying to say. You could say 2 is a little more colloquial.
As for your third sentence:
"The teacher gives his students a lesson every day to learn at home and he listens to it the next day."
-- Out of curiosity, what do you mean by the teacher giving his students a lesson to learn at home?
Do you mean homework? Or do you memorize the lesson at home and recite it in class?
Student or Learner