Teaching Test-Driven Development and Object-Oriented Design by Example | IEEE Conference Publication | IEEE Xplore