230 likes | 390 Views
A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government Initiative. Art Pyster Stevens Institute of Technology. art.pyster@stevens.edu. Background. Now creating new reference curriculum.
E N D
A Draft Reference Curriculum for a Masters Degree in Software Engineering: A Joint Industry, Academic, and Government Initiative Art Pyster Stevens Institute of Technology art.pyster@stevens.edu
Background Now creating new reference curriculum. • 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.
The Approach Understand the current state of SWE graduate education (November 2007) Create GSwERC 0.25 with a small team, suitable for limited review (February 2008) Publicize effort through conferences, papers, website, etc (continuous) Obtain endorsement from ACM, IEEE, INCOSE, NDIA, and other professional organizations (continuous) Create GSwERC 0.50 suitable for broad community review and early adoption (September/October 2008) Create GSwERC 1.0 suitable for broad adoption (2009)
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
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
Schools Studied Naval Postgraduate School Penn State University – Great Valley Quebec University (Canada) * Rochester Institute of Technology Seattle University Southern Methodist University Stevens Institute of Technology Texas Tech University University of Alabama – Huntsville University of Maryland University College University of Michigan – Dearborn University of Southern California University of York (UK) * Villanova University Air Force Institute of Technology Brandeis University California State University – Fullerton California State University – Sacramento Carnegie Mellon University Carnegie Mellon University West DePaul University Drexel University Dublin City University (Ireland) * Embry-Riddle Aeronautical University George Mason University James Madison University Mercer University Monmouth University * Non-US Schools
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 Faculty size is small - few dedicated SWE professors, making programs relatively brittle Student enrollments are generally small compared to CS and to other engineering disciplines Many programs specialize to specific markets such as defense systems or safety critical systems The target student population varies widely - anyone with Bachelors and B average to someone with CS degree and 2+ years of experience Online course delivery is popular Observations from 28 Schools
Objective for graduates vary widely - software developer to researcher to software manager Wide variation in depth and breadth of SWEBOK coverage in required and semi-required* courses 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 Some significant topics are rarely mentioned - agility, software engineering economics, systems engineering Some topics are ubiquitous - formal methods and architecture “Object-oriented” is the standard development paradigm - creating a “clash” with many systems engineering programs that emphasize structured methods More Observations *A student has a 50% or greater probability of taking a semi-required course.
Entrance Requirements Many programs routinely waive academic requirements for students with industrial experience Most programs offer leveling courses for students lacking entrance requirements % Programs
SWEBOK Coverage in Required and Semi-Required Courses sample • Required: Student must take the course • Semi-Required: 50% or more probability that course will be taken • 0: No coverage of topic • 1: Some coverage but no dedicated course • 2: One dedicated course • 3: Two or more dedicated courses
Some Novel Required &Semi-Required Courses • Management of Outsourced Development (Carnegie Mellon – West) • Professional, Ethical and Legal Issues for Software Engineers (Cal. State Univ. – Fullerton) • Managing Software Professionals (Carnegie Mellon – West) • Lean & Agile Software Processes (Mercer) • Artificial Intelligence (Michigan - Dearborn) • Software Engineering Economics (GMU, USC) • Computer Game Design & Implementation (Michigan - Dearborn) • Service Oriented Architecture (Dublin City) • Reverse Engineering (Drexel) • Software Evolution and Re-engineering (Rochester) • Software Documentation (Penn State Great Valley) • Software Risk Assessment in DoD (NPS) • Refactoring (Mercer) • Structured Document Interchange and Processing (DePaul) • Avoiding Software Project Failures (Carnegie Mellon – West) • Mathematical Foundations of Software Engineering (Monmouth) • Global Software Development (Carnegie Mellon)
The Approach –Create GSwERC 0.25 Understand the current state of SWE graduate education (November 2007) Create GSwERC 0.25 with a small team, suitable for limited review (February 2008) Publicize effort through conferences, papers, website, etc. (continuous) Obtain endorsement from ACM, IEEE, INCOSE, NDIA, and other professional organizations (continuous) Create GSwERC 0.50 suitable for broad community review and early adoption (Summer 2008) Create GSwERC 1.0 suitable for broad adoption (2009)
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.
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)
Draft Expectations 1-5 atGraduation for Version 0.5 • Have mastered the Core Body of Knowledge (CBOK) • Have mastered at least one application domain and one application type • Have mastered at least one knowledge area of sub-area from the CBOK to at least the Bloom Synthesis level • Demonstrated how to make ethical professional decisions and practice ethical professional behavior • Understand the relationship between software engineering and systems engineering and be able to apply systems engineering principles and practices in the engineering of software
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
Draft Expectations 6-10 atGraduation for Version 0.5 • 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. • Show the ability to reconcile conflicting project objectives, finding acceptable compromises within limitations of cost, time, knowledge, existing systems, and organizations • Understand and appreciate the importance of feasibility analysis, negotiation, effective work habits, leadership, and good communication with stakeholders in a typical software development environment • Understand how to learn new models, techniques, and technologies as they emerge, and appreciate the necessity of such continuing professional development • Be able to analyze a current significant software technology, articulate its strengths and weaknesses, and specify and promote improvements or extensions to that technology
How One Student Might Go ThroughFour Actual Masters Programs for Version 0.25 Scale: 1 = does not implement at all, 5 = fully implements
Reminder – Where WeAre Today ✔ ✔ ✔ ✔ ✔ Understand the current state of SWE graduate education (November 30, 2007) Create GSwERC 0.25 with a small team, suitable for limited review (February 2008) Publicize effort through conferences, papers, website, etc. (continuous) Obtain endorsement from ACM, IEEE, INCOSE, NDIA, and other professional organizations (continuous) Create GSwERC 0.50 suitable for broad community review and early adoption (Summer 2008) Create GSwERC 1.0 suitable for broad adoption (2009)