Combining Mastery Learning with Project-Based Learning in a First Programming Course: An Experience Report | IEEE Conference Publication | IEEE Xplore