Some Publications in Software Engineering Education

  • Software Engineering Competency Model Version 1.0 (SWECOM) A Project of the IEEE Computer Society

    • Mark Ardis, Dick Fairley, Tom Hilburn, Ken Nidiffer, Massood Towhidnejad, Mary Jane Willshire, and Kate Guillemette, IEEE publication, 2015.

      • This software engineering competency model (SWECOM) describes competencies for software engineers who participate in developing and modifying software-intensive systems. Skill areas, skills within skill areas, and work activities for each skill are specified. Activities are specified at five levels of increasing competency. Case studies of how the SWECOM model can be used by a manager, an employee, a new hire, or a curriculum designer are provided. The SWECOM- Staffing Gap Analysis and Individual Gap Analysis worksheets are included in an appendix.

  • Software Engineering 2014: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering

    • Mark Ardis, David Budgen, Greg Hislop, Jeff Offutt, Mark Sebern, and Willem Visser, joint effort of the ACM and the IEEE-Computer Society, 2014.

      • The primary purpose of this volume is to provide guidance to academic institutions and accreditation agencies about what should constitute an undergraduate software engineering education. These recommendations were originally developed by a broad, international group of volunteer participants. Software engineering curriculum recommendations are of particular relevance because the number of new software engineering degree programs continues to grow steadily and accreditation processes for such programs have been established in a number of countries.

      • The recommendations included in this volume are based on a high-level set of characteristics recommended for software engineering graduates, which are presented in Chapter 3. Flowing from these outcomes are the two main contributions of this document:

        • The Software Engineering Education Knowledge (SEEK): what every SE graduate must know.

        • Curriculum: ways this knowledge and the skills fundamental to software engineering can be taught in various contexts.

  • Software Assurance Curriculum Project Volume III: Master of Software Assurance Course Syllabi

    • Nancy R. Mead, Julia H. Allen, Mark Ardis, Thomas B. Hilburn, Andrew J. Kornecki, Rick Linger

    • CMU Technical Report CMU/SEI-2011-TR-013 and ESC-TR-2011-013, March 2011; Revised July 2011.

      • This report, the third volume in the Software Assurance Curriculum Project sponsored by the U.S. Department of Homeland Security, provides sample syllabi for the nine core courses in the Master of Software Assurance Reference Curriculum.

  • Software Assurance Curriculum Project Volume I: Master of Software Assurance Reference Curriculum

    • N. Mead, J. Allen, M. Ardis, T. Hilburn, A. Kornecki, R. Linger, J. McDonald

    • Carnegie Mellon Technical Report CMU/SEI-2010-TR-005 and ESC-TR-2010-005, August 2010.

      • This report contains guidelines for master's level curricula in software assurance. The link is to the SEI website where the report may be downloaded. Additional reports in this series and useful educational resources may also be found there.

  • Graduate Software Engineering 2009 (GSwE2009) Curriculum Guidelines for Graduate Degree Programs in Software Engineering

      • A link to the new software engineering guidelines.

  • The "Soft" Topics in Software Engineering Education

    • Mark A. Ardis, Stephen V. Chenoweth, and Frank H. Young

    • Presented at 38th ASEE/IEEE Frontiers in Education Conference, October 22-25, 2008, Saratoga Springs, New York.

      • Engineering educators struggle with “soft” topics – topics which include a social element. Soft engineering topics are distinct from the scientific and mathematical underpinnings of engineering. Students frequently complain when these topics are integrated into engineering curricula. Engineering educators also express concerns that they lack both preparation and ability to teach these topics.

      • Software engineering educators have an even greater problem. More soft topics need to be included in a good software engineering program. Furthermore, software engineering instructors need to remain current with non-social best practices, which can leave little time to study techniques to incorporate soft topics into the curriculum.

      • This paper is an attempt to alleviate the problem. We organize the soft topics necessary for a good software engineering program; present exercises to include them in software engineering courses so that students develop needed abilities and understand their importance ; and describe effective ways to evaluate student performance.

  • Test-First Teaching: Extreme Programming Meets Instructional Design in Software Engineering Courses

    • Mark Ardis and Cheryl Dugas

    • Presented at 34th ASEE/IEEE Frontiers in Education Conference, October 20-23, 2004, Savannah, Georgia.

      • Test-first development is a practice of extreme programming designed to produce reliable software quickly. Rather than writing the code first, a software engineer first creates the tests that will demonstrate that the software works correctly. Coding follows and is often guided by the tests. Practitioners of this method claim that the discipline of developing the tests before the code focuses their attention on the right problems and yields cleaner code. Test-First Teaching is a method of course development that incorporates Instructional Design methods to create more effective instruction. The instruments that will be used to test students’ day-to-day learning of the course material – assignments and quizzes – are created first, and instruction is developed to meet the students’ needs. Components of Test-First Teaching are applied at both course and lecture levels. Test-First Teaching has been used successfully to develop courses for the new Bachelor of Science in Software Engineering program at Rose-Hulman Institute of Technology.

  • 1989 SEI Report on Graduate Software Engineering Education

    • Mark Ardis and Gary Ford

    • Technical Report CMU/SEI-89-TR-21, Software Engineering Institute, Carnegie-Mellon University, Pittsburgh, PA, June 1989

      • This annual report on graduate software engineering education describes recent SEI educational activities, including the 1988 SEI Curriculum Design Workshop. A model curriculum for a professional Master of Software Engineering degree is presented, including detailed descriptions of six core courses. Fifteen university graduate programs in software engineering are surveyed.

  • The Evolution of Wang Institute's Master of Software Engineering Program

    • Mark A. Ardis

    • IEEE Transaction on Software Engineering 13(11), 1149-1155, November 1987.

      • Master of Software Engineering (MSE) programs are relatively new. Starting such a program is expensive in terms of human and capital resources. Some of the costs are: preparation of new course materials, acquisition of sophisticated equipment and software, and maintenance of a low student/faculty ratio. In addition, MSE students and faculty have special needs, such as technical background and familiarity with current industrial practices.

      • Wang Institute's MSE program has evolved rapidly in response to many of these demands. Capital expenditures have been large, and much time and effort have been spent creating and polishing the curriculum. Constant evaluation and refinement have proven invaluable in assuring the success and growth of the program. Corporate donations provided much of the original computing equipment. The Wang family provided an endowment for the purchase of a campus, a former Marist Brother's Juniorate Seminary. Faculty were recruited from academia and industry.