A formal approach to component-based software engineering: education and evaluation

  • Authors:
  • Murali Sitaraman;Timothy J. Long;Bruce W. Weide;E. James Harpner;Liqing Wang

  • Affiliations:
  • Dept. Computer Science, Clemson University, Clemson, SC;Dept. Computer & Info. Science, The Ohio State University, Columbus, OH;Dept. Computer & Info. Science, The Ohio State University, Columbus, OH;Dept. Statistics, West Virginia University, Morgantown, WV;Dept. Statistics, West Virginia University, Morgantown, WV

  • Venue:
  • ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper summarizes an approach for introducing component-based software engineering (CBSE) early in the undergraduate CS curriculum, and an evaluation of the impact of the approach at two institutions. Principles taught include a modular style of software development, an emphasis on human understanding of component behavior even while using formal specifications, and the importance of maintainability, as well as classical issues such as efficiency analysis and reasoning. Qualitative and quantitative evaluations of student outcomes and end-to-end changes in student attitudes show mostly positive results that are statistically significant, confirming that (1) it is possible to teach CBSE principles without displacing "classical principles usually taught in introductory courses, (2) students can understand and reuse formally-specified components without knowing their implementations, and (3) student attitudes towards software engineering can be altered in directions heretofore often assumed to be difficult to achieve.