23
Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government Initiative [email protected]

Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

Embed Size (px)

Citation preview

Page 1: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

Art Pyster

Stevens Institute of Technology

A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint

Industry, Academic, and Government Initiative

[email protected]

Page 2: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

2

Background• Software drives the performance of virtually all

major systems.

• Being able to produce software that can be trusted as reliable, secure, safe, correct, and available while being delivered on-time and within budget is a major challenge for both the government and industry.

• Many steps must be taken to meet that challenge - including ensuring our workforce is well educated in software engineering (SWE) principles and practices.

• Yet, the last effort to create a reference curriculum for graduate software engineering education was by the SEI in the early 1990s.

Now creating new reference curriculum.

Page 3: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

3

The Approach

1. Understand the current state of SWE graduate education (November 2007)

2. Create GSwERC 0.25 with a small team, suitable for limited review (February 2008)

3. Publicize effort through conferences, papers, website, etc (continuous)

4. Obtain endorsement from ACM, IEEE, INCOSE, NDIA, and other professional organizations (continuous)

5. Create GSwERC 0.50 suitable for broad community review and early adoption (September/October 2008)

6. Create GSwERC 1.0 suitable for broad adoption (2009)

Page 4: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

4

The Team• Rick Adcock, Cranfield University and INCOSE• Edward Alef, General Motors• Bruce Amato, Department of Defense• Mark Ardis, Rochester Institute of Technology• Larry Bernstein, Stevens Institute of Technology• Barry Boehm, University of Southern California• Pierre Bourque, Quebec University and SWEBOK

volunteer• John Bracket, Boston University• Murray Cantor, IBM• Lillian Cassel, Villanova and ACM volunteer• Robert Edson, ANSER• Richard Fairley, Colorado Technical University• Dennis Frailey, Raytheon & Southern Methodist

University• Gary Hafen, Lockheed Martin and NDIA• Thomas Hilburn, Embry-Riddle Aeronautical

University• Greg Hislop, Drexel University and IEEE

Computer Society participant

• Dave Klappholz, Stevens Institute of Technology• Philippe Kruchten, University of British Columbia • James McDonald, Monmouth University• Ernest McDuffie, National Coordination Office for

NITRD• Bret Michael, Naval Postgraduate School• William Milam, Ford• Fernando Naveda, RIT and IEEE volunteer• Ken Nidiffer, Software Engineering Institute • Art Pyster, Stevens Institute of Technology• Doug Schmidt, Vanderbilt• Mary Shaw, Carnegie Mellon University• Ann E Sobel, Miami university and IEEE volunteer• Robert Suritis, IBM• Richard Thayer, California State University at

Sacramento• Richard Turner, Stevens Institute of Technology• Joseph Urban, National Science Foundation observer• Ricardo Valerdi, MIT & INCOSE• David Weiss, Avaya

Page 5: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

5

Methodology to UnderstandCurrent State

• Diverse set of universities with Masters programs in SWE- Vary in size, geography, maturity, resources, target market, … - Focused on programs with degree in SWE or Computer Science

with a SWE specialization - not degrees in information technology and related areas

• Used Software Engineering Body of Knowledge (SWEBOK) as the primary framework for SWE competencies

• Collected data from school websites- Degree, faculty size, student population, target market, …- Degree structure, individual course descriptions- Map between courses and SWEBOK

• Validated data with one or more professors from each school

• Analyzed for commonalities and uniqueness

Page 6: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

6

Schools Studied

1. Air Force Institute of Technology2. Brandeis University3. California State University –

Fullerton 4. California State University –

Sacramento 5. Carnegie Mellon University6. Carnegie Mellon University West7. DePaul University8. Drexel University9. Dublin City University (Ireland) * 10. Embry-Riddle Aeronautical

University11. George Mason University12. James Madison University13. Mercer University14. Monmouth University

15. Naval Postgraduate School16. Penn State University – Great

Valley17. Quebec University (Canada) * 18. Rochester Institute of Technology19. Seattle University20. Southern Methodist University21. Stevens Institute of Technology22. Texas Tech University23. University of Alabama –

Huntsville 24. University of Maryland University

College25. University of Michigan – Dearborn26. University of Southern California27. University of York (UK) * 28. Villanova University

* Non-US Schools

Page 7: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

Observations from 28 Schools

1. SWE is largely viewed as a specialization of Computer Science - much as systems engineering was often viewed as specialization of industrial engineering or operations research years ago

2. Faculty size is small - few dedicated SWE professors, making programs relatively brittle

3. Student enrollments are generally small compared to CS and to other engineering disciplines

4. Many programs specialize to specific markets such as defense systems or safety critical systems

5. The target student population varies widely - anyone with Bachelors and B average to someone with CS degree and 2+ years of experience

6. Online course delivery is popular 7

Page 8: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

More Observations7. Objective for graduates vary widely - software developer to

researcher to software manager

8. Wide variation in depth and breadth of SWEBOK coverage in required and semi-required* courses

9. Many programs have required or semi-required courses that cover material that is either not in the SWEBOK at all or is not emphasized in the SWEBOK

10. Some significant topics are rarely mentioned - agility, software engineering economics, systems engineering

11. Some topics are ubiquitous - formal methods and architecture

12. “Object-oriented” is the standard development paradigm - creating a “clash” with many systems engineering programs that emphasize structured methods

8

*A student has a 50% or greater probability of taking a semi-required course.

Page 9: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

9

Entrance Requirements

%

Programs

Most programs offer leveling courses for students lacking

entrance requirements

Many programs routinely waive academic requirements

for students with industrial experience

Page 10: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

10

SWEBOK Coverage in Required and Semi-Required Courses

0: No coverage of topic 1: Some coverage but no

dedicated course 2: One dedicated course 3: Two or more dedicated courses

REQ Sw RequirementsDES Sw DesignCST Sw ConstructionTST Sw Testing MNT Sw MaintenanceCNF Sw Config. Mgmt.MGT SwE ManagementPRC SwE ProcessTLS SwE Tools and MethodsQLY Sw Quality

• Required: Student must take the course

• Semi-Required: 50% or more probability that course will be taken

sample

Page 11: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

11

SWEBOK Coverage in Required and Semi-Required Courses

Page 12: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

12

Some Novel Required &Semi-Required Courses

1. Reverse Engineering (Drexel)2. Software Evolution and Re-

engineering (Rochester)3. Software Documentation (Penn

State Great Valley)4. Software Risk Assessment in DoD

(NPS)5. Refactoring (Mercer)6. Structured Document Interchange

and Processing (DePaul)7. Avoiding Software Project Failures

(Carnegie Mellon – West)8. Mathematical Foundations of

Software Engineering (Monmouth)9. Global Software Development

(Carnegie Mellon)

10. Management of Outsourced Development (Carnegie Mellon – West)

11. Professional, Ethical and Legal Issues for Software Engineers (Cal. State Univ. – Fullerton)

12. Managing Software Professionals (Carnegie Mellon – West)

13. Lean & Agile Software Processes (Mercer)

14. Artificial Intelligence (Michigan - Dearborn)

15. Software Engineering Economics (GMU, USC)

16. Computer Game Design & Implementation (Michigan - Dearborn)

17. Service Oriented Architecture (Dublin City)

Page 13: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

13

The Approach –Create GSwERC 0.25

1. Understand the current state of SWE graduate education (November 2007)

2. Create GSwERC 0.25 with a small team, suitable for limited review (February 2008)

3. Publicize effort through conferences, papers, website, etc. (continuous)

4. Obtain endorsement from ACM, IEEE, INCOSE, NDIA, and other professional organizations (continuous)

5. Create GSwERC 0.50 suitable for broad community review and early adoption (Summer 2008)

6. Create GSwERC 1.0 suitable for broad adoption (2009)

Page 14: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

14

Reference Model Focus

• The principle purpose of GSwERC will be to provide a framework for development and improvement of curricula for software engineering education at the master’s degree level.

• The master’s degree described by GSwERC will be a professional degree targeting practicing software engineers.

• Software engineering draws its foundations from a wide variety of disciplines, with deepening ties to systems engineering.

Page 15: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

15

Expectations at Entry

• The equivalent of an undergraduate degree in computing or an undergraduate degree in an engineering or scientific field and a minor in computing. The GSwERC Body of Knowledge more completely defines the expected prerequisite knowledge, and

• The equivalent of an introductory course in software engineering, and

• At least one year of practical experience in some aspect of software engineering or software development (likely to become two years in version 0.5 with more guidance on the nature of the experience)

Page 16: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

16

Draft Expectations 1-5 atGraduation for Version 0.5

1. Have mastered the Core Body of Knowledge (CBOK)

2. Have mastered at least one application domain and one application type

3. Have mastered at least one knowledge area of sub-area from the CBOK to at least the Bloom Synthesis level

4. Demonstrated how to make ethical professional decisions and practice ethical professional behavior

5. Understand the relationship between software engineering and systems engineering and be able to apply systems engineering principles and practices in the engineering of software

Page 17: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

17

Version 0.5 Draft CBOK

Modified SWEBOK in several places, including:

• Added Human Computer Interface Design to Software Design Knowledge Area

• Added Engineering Economics and Risk Management to SWE Management Knowledge Area

• Added two new Knowledge Areas – Systems Engineering Fundamentals and Ethical and Professional Conduct

• Changed Software Requirements to Requirements Engineering to reflect integration between systems and software engineering

Page 18: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

18

Bloom’s Taxonomy

Page 19: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

19

Draft Expectations 6-10 atGraduation for Version 0.5

6. Be able to work effectively as part of a team, including teams that may be international and geographically distributed, to develop quality software artifacts, and to lead in one area of project development, such as project management, requirements analysis, architecture, construction, or quality assurance.

7. Show the ability to reconcile conflicting project objectives, finding acceptable compromises within limitations of cost, time, knowledge, existing systems, and organizations

8. Understand and appreciate the importance of feasibility analysis, negotiation, effective work habits, leadership, and good communication with stakeholders in a typical software development environment

9. Understand how to learn new models, techniques, and technologies as they emerge, and appreciate the necessity of such continuing professional development

10.Be able to analyze a current significant software technology, articulate its strengths and weaknesses, and specify and promote improvements or extensions to that technology

Page 20: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

20

Curriculum Architecture

Page 21: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

21

Curriculum Architecture

Page 22: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

22

How One Student Might Go ThroughFour Actual Masters Programs for

Version 0.25

Scale: 1 = does not implement at all, 5 = fully implements

Page 23: Art Pyster Stevens Institute of Technology A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government

23

Reminder – Where WeAre Today

1. Understand the current state of SWE graduate education (November 30, 2007)

2. Create GSwERC 0.25 with a small team, suitable for limited review (February 2008)

3. Publicize effort through conferences, papers, website, etc. (continuous)

4. Obtain endorsement from ACM, IEEE, INCOSE, NDIA, and other professional organizations (continuous)

5. Create GSwERC 0.50 suitable for broad community review and early adoption (Summer 2008)

6. Create GSwERC 1.0 suitable for broad adoption (2009)