There are two main sources for the essential elements of a software engineering specialization focusing on enterprise application development. First, there are the fundamental software engineering topics. The IEEE Software Engineering Body of Knowledge (SWEBOK)3 provides a thorough summary of these fundamentals organized into 12 chapters, with an extensive bibliography of relevant resources for each subject area:
Second, there are the specific topics and technologies that are in demand from industry, which we can group into three areas:
The majority of these topics are not offered in current CSIM courses, so to offer a serious software engineering specialization we plan to update current offerings in CSIM and design new courses to fill the gaps. As a first step, we propose to pull the existing Information Systems Development (ISD) and Web Technologies courses into the MSCS/SE curriculum and revise them to reflect the needs of enterprise software development. As a second step, the topics and technology not currently mapping to any course are planned to be offered through new courses. We have the capacity to introduce two new courses into the program this year, based around the Architecture and Design and Development and Testing groupings.
Table 1 shows how the SWEBOK topics are planned to be distributed between the existing ISD course and these two new courses. This is the most obvious breakdown, but it is not perfect: the course structure will certainly evolve as the program matures in response both to the classroom situation and external demands.