Rule-based reasoning for altering pattern navigation in Programming Tutoring System | IEEE Conference Publication | IEEE Xplore