Early prediction of student performance in CS1 programming courses