Rethinking task types for novice programmers | IEEE Conference Publication | IEEE Xplore