Undergraduate Software Engineering Programs in the United States
















- Slides: 16
Undergraduate Software Engineering Programs in the United States (in 2003) Mark A. Ardis Rose-Hulman Institute of Technology 1
Acknowledgements • Most of this presentation was originally given at FIE 2003 with Don Bagert http: //fie. engrng. pitt. edu/fie 2003/ papers/1294. pdf 2
Profile of SE Degree Programs 11 18 of 21 programs in 2002 -3 3 Engineering College School of Computing 2 2 School of Sciences Other 3
Departments 6 5 3 3 1 CS ECE Joint CS/ECE SE College Level 4
Curriculum Content • Computer Science – All required: • Intro CS sequence • Organization/assembly languages – About half required: • • Operating Systems Concepts of Programming Languages Database Systems Networks 5
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 6
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 7
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 8
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, http: //sites. computer. org/ccse/ 9
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 10
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 design EVO. ac. 6 Refactoring D E k 11
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. 12
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 13
Example. Topics DES Software Design DES. str Design Strategies DES. str. 1 Function-oriented design a(c) DES. str. 2 Object-oriented design c(a) DES. str. 3 Data-structure centered design DES. str. 4 Aspect oriented design E E D O 14
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 15
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 16