Using a software engineering approach to CS1: a comparative study of student performance | ACM SIGCSE Bulletin | DeepDyve