Half Nelson

Dan Dunne (Ryan Gosling) is a young middle-school history teacher at a Brooklyn school, with a teaching style that rejects the standard curriculum in favor of an approach based upon dialectics (specifically Engels' three laws of dialectics, though this is never referred to by name). Though he seems to have it all together in the classroom, on his own time he is found frequently snorting and freebasing cocaine. After a basketball game, Dan's ex-girlfriend, Rachel (Tina Holmes) turns up, evoking emotions that he cannot handle. A short while later, one of his students (and a player on the girls' basketball team he coaches), Drey (Shareeka Epps), catches him getting high in the locker room. Read more on Wikipedia.