Putting engineering into software engineering: Upholding software engineering principles in the classroom. (July 2015)