The integration of software engineering into a computer science curriculum

  • Thomas B. Hilburn
  • Iraj Hirmanpour
  • Andrew Kornecki
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 895)


This paper discusses ideas and techniques for integrating software engineering concepts and practices into an undergraduate computer science curriculum. Discussion is focused on concepts that are related to the following aspects of software engineering: the need for software engineering, characteristics of good software, the software development process, estimation and planning, working in teams, specification of requirements, software design, and software quality issues.

The computer science curriculum at Embry-Riddle Aeronautical University is used as an illustrative example of how these concepts can be integrated into an undergraduate computer science program, from introductory computer science courses to a senior project course. The paper starts with a description of the current state of software engineering education. After a discussion of Emory-Riddle's computer science curriculum structure, the authors propose a set of software engineering concepts that should be included in an undergraduate program. Finally, guidelines for incorporating these concepts into a computer science curriculum are presented, and there is a discussion of the benefits of the integrated approach: the relevance of the curriculum to software engineering practices, the experience that students gain through collaboration and teamwork, and the satisfaction that employers show with graduates of such a program.


Software Engineering Team Project Software Requirement Specification Software Engineering Practice Senior Project 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    ACM Curriculum Committee on Computer Science, Curriculum 78, “Recommendations for the Undergraduate Program in Computer Science”, Communications of the ACM, 22(3), March 1979, pp. 147–166.Google Scholar
  2. 2.
    Criteria for Accrediting Programs in Computer Science in the United States, Computing Sciences Accreditation Board, January 1987.Google Scholar
  3. 3.
    P.J. Denning: “Educating a New Engineer”, Communications of the ACM, 35(12), December 1992, pp. 82–97.Google Scholar
  4. 4.
    G. Ford: 1990 SEI Report on Undergraduate Software Engineering Education, Technical Report CMU/SEI-90-TR-3, Software Engineering Institute, March 1990.Google Scholar
  5. 5.
    G. Ford, N. Gibbs: “A Master of Software Engineering Curriculum”, IEEE Computer, September 22, 1989.Google Scholar
  6. 6.
    P. Freeman, A. Wasserman: “Software Engineering Concepts and Computer Science Curricula”, IEEE Computer, 10 June 1977, 85–91.Google Scholar
  7. 7.
    P. Freeman, A. Wasserman: “A proposed Curriculum for Software Engineering Education”, Proceedings of the 3rd International Conference on Software Engineering, IEEE Computer Society, May 1978, 56–62.Google Scholar
  8. 8.
    T. Hilburn, I. Hirmanpour: “A Top-Down Toolbox Approach to Teaching the Ada Programming Language”, Proceedings of the Ada Software Engineering Education and Training Symposium, September 1991.Google Scholar
  9. 9.
    A. Kornecki: “Global Positioning System as a Real-Time Software Engineering Project in an Undergraduate CS Curriculum”, Proceedings of Software Engineering Research Forum, SERP92, Melbourne, FL, October 1992.Google Scholar
  10. 10.
    A. Kornecki: “Object-Oriented Methodology in Simulation Education”, Proceedings of the IASTED International Conference on Modeling and Simulation, Lugano, Switzerland, June 1994Google Scholar
  11. 11.
    P. Naur, B. Randall (editors): Software Engineering: A Report on a Conference sponsored by the NATO Science Committee, NATO, 1969.Google Scholar
  12. 12.
    A. M. Tucker: “Computing Curricula 1991”. Communications of the ACM, 34(6), June 1991, pp. 68–84.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Thomas B. Hilburn
    • 1
  • Iraj Hirmanpour
    • 1
  • Andrew Kornecki
    • 1
  1. 1.Department of Computer ScienceEmbry-Riddle Aeronautical UniversityDaytona Beach

Personalised recommendations