Teaching enterprise application development: strategies and challenges

  • Authors:
  • David Matthew Whittinghill;Kyle D. Lutes

  • Affiliations:
  • Purdue University, West Lafayette, IN, USA;Purdue University, West Lafayette, IN, USA

  • Venue:
  • Proceedings of the 2011 conference on Information technology education
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Enterprise application development requires a skill set that is broader than that provided by traditional programming courses. Enterprise applications are distributed, networked, multi-user, and, in most instances, fairly complex. As such, competent software developers must possess more than the basic understanding of a programming language. Developers of enterprise applications must also possess an understanding of networking fundamentals, network and application security, relational database management systems, concurrency, and application deployment and scaling. They should additionally be knowledgeable with the mechanics of at least one specific application platform, for example J2EE or Microsoft's .NET. This collection of competencies tend not to be taught in the software development curriculum as a collective whole, rather they are touched upon in many different courses in the curriculum. Though this traditional approach is more or less successful in creating adaptable skills for students who are then positioned to learn application domain-specific technologies and concepts, this approach is likely to fail in providing in-depth knowledge of the principles, patterns, and techniques used for developing these types of large enterprise applications. The acquisition of this knowledge must therefore be obtained in either an on-the-job or self-taught fashion. Our department has been addressing these issues for over ten years via a software development course that uses a variety of technologies including COM/DCOM, .NET, and J2EE. Our expressed goal is to educate our students with the knowledge required to design and implement enterprise applications. In this paper, we present the goals and history of our course, the framework we have used for teaching the subject, as well as the challenges that can arise in administering the associated coursework. The observations are based on the two authors' collective experience teaching enterprise application development in a university setting.