Intelligent tutoring systems (ITSs) are capable to intelligently diagnose learners' problem solving behaviour only in limited and well-defined contexts. Learners are expected to solve problems by closely following a single prescribed problem solving strategy, usually in a fixedorder, step by step manner. Learners failing to match expectations are often met with incorrect diagnoses even when human teachers would judge their actions admissible. To address the issue, we extend our previous work on cognitive diagnosis, which is based on logic programming and meta-level techniques. Our novel use of Shapiro's algorithmic debugging now analyses learner input independently against multiple models. Learners can now follow one of many possible algorithms to solve a given problem, and they can expect the tutoring system to respond with improved diagnostic quality, at negligible computational costs.