A programming learning diagnostic system using case-based reasoning method | IEEE Conference Publication | IEEE Xplore