The effects of computer aided thinking (CAT) software on students' achievement and learning experience