Scaffolded programming projects to promote computational thinking