Michigan football beat writer Dave Birkett grades the Wolverines after Ohio State's 21-10 victory.

Offense Tate Forcier picked a bad day for his worst game of the season. Forcier threw four interceptions and lost a fumble, effectively stymieing the Big Ten’s highest scoring offense. Denard “Designed Run” Robinson gave the Wolverines a spark on his first series, but with no reason to fear the pass Ohio State shut Robinson down thereafter. Vincent Smith played well, but not having Brandon Minor hurt. Grade: D-minus Defense

BRANDON-GRAHAM-112109.jpg

Michigan's Brandon Graham (55) chases after Ohio State quarterback Terrelle Pryor. Graham finished the season with 25 tackles for a loss. (Photo: Melanie Maxwell | AnnArbor.com)

After being shredded most of the season, Michigan turned in a winning effort on defense. Brandon Graham led the way with four more tackles for loss, giving him 25 on the year. Ohio State did run for 251 yards, but the Buckeyes had just two touchdown drives and Terrelle Pryor was ineffective through the air. Grade: B Special teams Michigan didn’t get much out of its return game, again, and Jason Olesnavage missed a 24-yard field goal. Olesnavage finished the season 1-for-4 on kicks of 26 yards or less (and 10-of-11 on kicks 29 yards or longer). Zoltan Mesko capped his Michigan career with another good day, dropping two punts inside the 20 and averaging 43 yards per kick. Grade: C Coaching Fans won’t forgive Rich Rodriguez anytime soon for his two losing seasons, but Michigan played a full game Saturday. There's no imagination with how coaches deploy Robinson, but they were quick to pull Mike Shaw for Smith (the right decision). Defensively, more lineup changes were in the works. Troy Woolfolk moved back to safety from cornerback, and J.T. Floyd (corner) and Kevin Leach (middle linebacker) returned to the starting lineup. Grade: C-plus Dave Birkett covers University of Michigan football for AnnArbor.com. He can be reached by phone at 734-623-2552 or by e-mail at davidbirkett@annarbor.com. Follow him on Twitter @davebirkett.