Teaching advanced software design in team-based project course | IEEE Conference Publication | IEEE Xplore