refactored course/homework stuff