Teaching an Undergraduate Software Engineering Course using Active Learning and Open Source Projects | IEEE Conference Publication | IEEE Xplore