A Novel Self-Studying Platform with its Application to Programming Courses | IEEE Conference Publication | IEEE Xplore