1 Undergraduate Software Engineering Programs in the United States (in 2003) Mark A. Ardis Rose-Hulman Institute of Technology
2 Acknowledgements Most of this presentation was originally given at FIE 2003 with Don Bagert papers/1294.pdf
3 Profile of SE Degree Programs Engineering College School of Sciences School of Computing Other of 21 programs in
4 Departments CS ECE Joint CS/ECE SECollege Level
5 Curriculum Content Computer Science –All required: Intro CS sequence Organization/assembly languages –About half required: Operating Systems Concepts of Programming Languages Database Systems Networks
6 Curriculum Content - 2 Software Engineering –Average of six courses per program –All required capstone experience –More than half have 1-2 SE intro courses –Most required SE architecture or design –Less than half had Project Management, Quality Assurance, Requirements –One-third had ethics, HCI, formal methods
7 Curriculum Content - 3 Mathematics –All required calculus –Almost all require discrete math and probability/statistics –About half require differential equations, linear algebra –In general, requirements were similar to CS
8 Curriculum Content - 4 Traditional Engineering –Very little besides digital logic –Circuits, engineering economics each required by three programs Other Courses –General education requirements –Software engineering application domain area Some specify one area, others provide a choice
9 SE Curriculum Models SEI Report on Graduate Software Engineering Education, CMU/SEI-89-TR-21. Guidelines for Software Engineering Education, CMU/SEI-99-TR-032. Software Engineering Education Knowledge (SEEK) chapter of Computing Curriculum - Software Engineering, December 2002,
10 Undergraduate vs Graduate Overview SE course No Proj. Mgmt. course No Overview SE course Proj. Mgmt. course Similar coverage of SE material Similar capstone project experience
11 SEEK Knowledge Areas (10) –Units (~4 per Knowledge Area) Topics (~6 per Unit) Essential or Desired or Optional Bloom's taxonomy for Essential topics DES.str.4 Aspect oriented designD EVO.ac.6 Refactoring E k
12 SEEK Knowledge Areas 1.Computing Essentials 2.Math and Engin. Fundamentals 3.Professional Practice 4.Modeling & Analysis 5.Software Design 6.Verification & Validation 7.Software Evolution 8.Software Process 9.Software Quality 10.Software Mgmt.
13 Example Knowledge Units DES Software Design DES.con Design Concepts DES.str Design Strategies DES.ar Architectural Design DES.hci Human Computer Interface Design DES.dd Detailed Design DES.ste Design Support Tools and Evaluation
14 ExampleTopics DES Software Design DES.str Design Strategies DES.str.1 Function-oriented design a(c) E DES.str.2 Object-oriented design c(a) E DES.str.3 Data-structure centered designD DES.str.4 Aspect oriented designO
15 SEEK Coverage Good coverage overall –None of the Essential topics at Application level are missing –None of the Management or Professional topics missing from more than 1 program Evolution topics are least covered
16 Analysis SE similar to CS in overall requirements Most SE programs have "Intro to SE" (similar to CS, unlike other engineering disciplines) Capstone experience is similar to other engineering disciplines