Enabling Wide-Scale Computer Science Education Through Improved Automated Assessment Tools