1 undergraduate software engineering programs in the united states (in 2003) mark a. ardis...
DESCRIPTION
3 Profile of SE Degree Programs Engineering College School of Sciences School of Computing Other of 21 programs inTRANSCRIPT
1
Undergraduate Software Engineering Programs in the United States
(in 2003)
Mark A. ArdisRose-Hulman Institute of Technology
2
Acknowledgements
• Most of this presentation was originally given at FIE 2003 with Don Bagert
http://fie.engrng.pitt.edu/fie2003/papers/1294.pdf
3
Profile of SE Degree Programs
EngineeringCollege
School ofSciences
School ofComputing
Other
11
3 22
18 of 21 programs in 2002-3
4
Departments
CS ECE JointCS/ECE
SE CollegeLevel
5
3
1
3
6
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, http://sites.computer.org/ccse/
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 design DEVO.ac.6 Refactoring E k
12
SEEK Knowledge Areas
1. Computing Essentials2. Math and Engin.
Fundamentals3. Professional Practice4. Modeling & Analysis5. Software Design
6. Verification & Validation
7. Software Evolution8. Software Process9. Software Quality10. Software Mgmt.
13
Example Knowledge Units
DES Software DesignDES.con Design ConceptsDES.str Design StrategiesDES.ar Architectural DesignDES.hci Human Computer Interface DesignDES.dd Detailed DesignDES.ste Design Support Tools and Evaluation
14
ExampleTopics
DES Software DesignDES.str Design Strategies
DES.str.1 Function-oriented design a(c) EDES.str.2 Object-oriented design c(a) EDES.str.3 Data-structure centered design DDES.str.4 Aspect oriented design O
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