Preparing lesson plans
Improving understand of the programming language and syntax
Better understand of when and how to use data structures and built-in functions
Building real world projects using libraries and frameworks
Level of skill is irrelevant, any level of experience, from beginner to expert, will grow their skills