Indeed the task is not that easy from my point of view, therefore take care with my solution. No warranty :-)
First I divided (tried to) your textual description in logical parts:
a.) Department has more courses [done]
b.) course has more classes [done]
c.) class has more lessons. [done]
d.) One lesson belongs to one class, [done]
e.) class belongs to one course [done]
f.) and course belongs to one department. [done]
g.) Teacher can work in more departments [done]
h.) and department can have more teachers assigned to it.[done]
i.) Course can have many teachers, but only ones that [done]
are from the same department that course belongs
and teacher can be assigned to many courses.
k.) Class also has many teachers, [done]
but teacher can only be from the same course
that class belongs to
l.) and lesson can be taught from one teacher, [done]
but that teacher must be assign to the
class that lesson belongs to.
From this I startet to define the tables and cross checked with the list above:
Department
DptId
Teacher
TeacherId
Dpts_Teacher
DptId
TeacherId
Course
CourseId
DptId
Course_Teacher
CourseId
DptId
TeacherId
Class
ClassId
CourseId
Class_Teacher
ClassId
CourseId
TeacherId
Lesson
LessonId
ClassId
Teacher_Id
Again, check it very carefully. I hope it is not too cryptic and helps a little bit.
[Edit]
A trial to explain a possible confusion:
Have a look to
a.) Department has more courses
On a first glance it suggest (at least for me) as a potential M:N
But then
f.) and course belongs to one department.
does clearly define departement:course is 1:N