I use slicktasks. It integrates very well with the calendar and will notify you when you have upcoming tasks. I have heard good things about student docket though, with slicktasks can just make parent group that is the class, and child groups that are the assignments and just check them off as they get done.