An Innovative Approach to Teaching an Undergraduate Software Engineering Course | IEEE Conference Publication | IEEE Xplore