Remedying Low Student Performance in Introductory Programming: A Case Study on Role Assignment in Academic Teams | IEEE Conference Publication | IEEE Xplore