How to teach software engineering students about the enterprise Start with a solid foundation of polymorphism, object-oriented programming, collections, lambda, and design patterns.