Foundations of Parallel and Distributed Programming
Foundations of Parallel and Distributed Programming
Software Engineering in the Academy
Computer
From theories to actions: a proposal for a new course on enterprise information systems integration
CITC4 '03 Proceedings of the 4th conference on Information technology curriculum
Service-Oriented Computing: Key Concepts and Principles
IEEE Internet Computing
Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles
EUROMICRO '07 Proceedings of the 33rd EUROMICRO Conference on Software Engineering and Advanced Applications
Enterprise systems education: new directions & challenges for the future
Proceedings of the 2008 ACM SIGMIS CPR conference on Computer personnel doctoral consortium and research
From programming to modeling: our experience with a distributed software engineering course
Proceedings of the 30th international conference on Software engineering
Turning Software into a Service
Computer
Towards Services Computing Curriculum
SERVICES '08 Proceedings of the 2008 IEEE Congress on Services - Part I
Software Engineering Approach for Teaching Development of Scalable Enterprise Applications
CSEET '09 Proceedings of the 2009 22nd Conference on Software Engineering Education and Training
Teaching enterprise software development in undergraduate curriculum
Proceedings of the 10th ACM conference on SIG-information technology education
Research and Application of Reusing Enterprise Legacy Systems Based on Web Service
WCSE '09 Proceedings of the 2009 WRI World Congress on Software Engineering - Volume 03
A theoretical framework of component-based software development phases
ACM SIGMIS Database
Hi-index | 0.00 |
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.