Lijuan Cao Instructor Exploring adaptive learning features and creating problems for discrete math class