540 likes | 719 Views
Educating the Next Generation of Software Engineers. Art Pyster Stevens Institute of Technology March 2010 art.pyster@stevens.edu www.GSwE2009.org. Agenda. How the world has changed The current state of software engineering education Creating and disseminating a new reference curriculum
E N D
Educating the Next Generation of Software Engineers Art Pyster Stevens Institute of Technology March 2010 art.pyster@stevens.edu www.GSwE2009.org
Agenda • How the world has changed • The current state of software engineering education • Creating and disseminating a new reference curriculum • And next?
There are precious few interesting man-made systems whose success is not critically dependent on software. Twenty years from now, software people will be sitting at the table and the other disciplines will be sitting around the sides of the room. Eberhardt Rechtin, 1993 There are precious few interesting software systems anywhere whose success is not critically dependent on the developers practicing good systems engineering.
What do we teach for a master’s degree in software engineering? • The last effort to create a reference curriculum for graduate software engineering education was by the SEI in the early 1990s. • There were, in effect, no current community-endorsed recommendations on what to teach software engineers – nothing that recognizes how the world has changed. • Response: create a project to create a new reference curriculum in software engineering
The Integrated Software andSystems Engineering Curriculum Project • Begun in May 2007 at Stevens Institute of Technology • Sponsored by then DoD Director of Systems and Software Engineering Kristen Baldwin • Three products planned: • A modern reference curriculum for a master’s degree in software engineering that integrates an appropriate amount of systems engineering • A modern reference curriculum for a master’s degree in systems engineering that integrates an appropriate amount of software engineering • A truly interdisciplinary degree that is neither systems nor software engineering – it is both
1st Project – Graduate Software Engineering 2009 Understand the current state of SwE graduate education (November 2007) Create GSwE2009 0.25 (formerly GSwERC) with a small team, suitable for limited review (February 2008) Publicize effort through conferences, papers, website, etc (continuous) Create GSwE2009 0.50 (formerly GSwERC) suitable for broad community review and early adoption (October 2008) Create GSwE2009 1.0 suitable for broad adoption (September 2009) Transition stewardship to professional societies (Late 2009-Early 2010) Foster adoption world-wide (2009 and beyond)
SWEBOK coverage* in 2007 across 28 SwE MS programs *Coverage in required and semi-required courses
The curriculum author team • Rick Adcock, Cranfield University and INCOSE representative, UK • Edward Alef, General Motors, USA • Bruce Amato, Department of Defense, USA • Mark Ardis, Stevens Institute of Technology, USA • Larry Bernstein, Stevens Institute of Technology, USA • Barry Boehm, University of Southern California, USA • Pierre Bourque, Ecole de Technologie Superieure and co-editor of 2010 SWEBOK update, Canada • John Brackett, Boston University, USA • Murray Cantor, IBM, USA • Lillian Cassel, Villanova and ACM representative, USA • Robert Edson, Analytic Services Inc., USA • Richard Fairley, Colorado Technical University, USA • Dennis Frailey, Raytheon and Southern Methodist University, USA • Gary Hafen, Lockheed Martin and NDIA, USA • Thomas Hilburn, Embry-Riddle Aeronautical University, USA • Greg Hislop, Drexel University, and IEEE Computer Society representative, USA • David Klappholz, Stevens Institute of Technology, USA • Philippe Kruchten, University of British Columbia, Canada • Phil Laplante, Pennsylvania State University, Great Valley, USA • Qiaoyun (Liz) Li, Wuhan University, China • Scott Lucero, Department of Defense, USA • John McDermid, University of York, UK • James McDonald, Monmouth University, USA • Ernest McDuffie, National Coordination Office for NITRD, USA • Bret Michael, Naval Postgraduate School, USA • William Milam, Ford, USA • Ken Nidiffer, Software Engineering Institute, USA • Art Pyster, Stevens Institute of Technology, USA • Paul Robitaille, Lockheed Martin, USA • Mary Shaw, Carnegie Mellon University, USA • Sarah Sheard, Third Millenium Systems, USA • Robert Suritis, IBM, USA • Massood Towhidnejad, Embry-Riddle Aeronautical University, USA • Richard Thayer, California State University at Sacramento, USA • J. Barrie Thompson, University of Sunderland, UK • Guilherme Travassos, Brazilian Computer Society, Brazil • Richard Turner, Stevens Institute of Technology, USA • Joseph Urban, Texas Tech University, USA • Ricardo Valerdi, MIT & INCOSE, USA • David Weiss, Avaya, USA • Mary Jane Willshire, Colorado Technical University, USA
Expectations at entry • DEGREE: • The equivalent of an undergraduate degree in computing or an undergraduate degree in an engineering or scientific field and a minor in computing • SWE COURSE: • The equivalent of an introductory course in software engineering • EXPERIENCE: • At least two years of practical experience in some aspect of software engineering or software development
Outcomes at graduation • CBOK: • Master the Core Body of Knowledge • DOMAIN: • Master software engineering in one application domain, such as finance, medical, transportation, or telecommunications, and in one application type, such as real-time, embedded, safety-critical, or highly distributed systems. That mastery includes understanding how differences in domain and type manifest themselves in both the software itself and in its engineering, and includes understanding how to learn a new application domain or type. • DEPTH: • Master at least one knowledge area or sub-area from the Core Body of Knowledge to at least the Bloom Synthesis level
Outcomes at graduation ETHICS: Be able to make ethical professional decisions and practice ethical professional behavior SYSTEMS ENGINEERING: Understand the relationship between software engineering and systems engineering and be able to apply systems engineering principles and practices in the engineering of software TEAM: Be an effective member of a team, including teams that are multinational and geographically distributed, effectively communicate both orally and in writing, and lead in one area of project development, such as project management, requirements analysis, architecture, construction, or quality assurance
Outcomes at graduation RECONCILIATION: Be able to reconcile conflicting project objectives, finding acceptable compromises within limitations of cost, time, knowledge, risk, existing systems, and organizations PERSPECTIVE Understand and appreciate the importance of feasibility analysis, negotiation, and good communication with stakeholders in a typical software development environment, and perform those tasks well; have effective work habits and be a leader LEARNING: Be able to learn and apply new models, techniques, and technologies as they emerge, and appreciate the necessity of such continuing professional development
Outcomes at graduation TECHNOLOGY: Be able to analyze a current significant software technology, articulate its strengths and weaknesses, compare it to alternative technologies, and specify and promote improvements or extensions to that technology
Curriculum architecture BSEE and BSCE graduates Business graduates Old degree,recent experience BSSE and BSCS graduates Other degree,some experience BS + extensive experience Prep Material Baseline: Expected capability Graduates with a BS in Computing Core Materials University-Specific Materials Elective Materials Capstone Experience
GSwE2009 Status • Version 1.0 was released to the international SwE community Sept. 30, 2009. • Companion documents released in November 2009: • Comparison of actual programs to recommendations • FAQs for implementing GSwE2009 • The ACM and the IEEE Computer Society have agreed to take over sponsorship of GSwE2009 recommendations, including maintenance • Author team supporting adoption through such activities as this panel
Massood Towhidnejad March 2010 towhid@erau.edu
Comparison Document • What is it? • This is a companion document for GSwE 2009 • A living document • A comparison between the existing SE program and GSwE2009 • Volunteered participation and data collection • Provides trend analysis
Content of Comparison Document • There are currently 12 participating schools • Mostly US schools, but also representation from South America and Australia • Three major sections • Demographic data (shows breath of represented programs) • Hypothetical student’s outcome achievement analysis (how well the existing program’s graduates meet the GSwE objectives) • In-depth analysis of program effects on students’ outcome achievement (before and after effect)
35 30 25 20 Part Time Full Time 15 10 5 0 Demographic (Sample Data) Geographic distribution Course delivery Program entrance knowledge area Full/part time faculty ratio Number of students Student/faculty ratio
Outcome Achievement • Each program identifies three hypothetical “typical” students • Each student have taken a series of core courses and electives which satisfy degree completion requirement • Analysis of outcomes achieved by each students as it relates to the ten GSwE2009 outcomes are conducted for • Upon entry • Upon completion of core courses requirement • Upon completion of elective course • Overall achievement upon completion of the degree requirements
In-Depth Analysis of Participating Schools • Only a small set of schools are represented here • They have the most complete data (at entrance, and throughout the degree), including • Well defined description of the students background, knowledge, and experience • Educational goals/path • Provide an analysis of students outcome achievements (at the entrance, and after graduation)
Some Observations • Graduate curriculum clearly makes substantial improvement in students outcome achievement • In most cases, students with industry experience achieve higher outcomes • The most common core course requirement are: Requirement, (7) Project Management (7), Architecture and Design(7), Testing and V&V (6) • The least common course are: Metrics (2), Ethics (2), and System Engineering (1)
Some Issues • Finding a good set of hypothetical students • Evaluation is subjective and data accuracy is dependent on the person completing the form • Incomplete data • Misunderstanding due to internationalization • Small samples weaken the overall observations • High number of US schools, and no Asian or European schools
How Can You Participate? • There are number of tools • Comparison Process instruction • Step-by-step process instruction to complete the data • Rubric for comparison of courses/background with outcome • Guidelines on how to evaluate each outcome (H, M+, M, L+, L, none) • Comparison table • The actual table with dropdown entry to complete • Comparison collaborative process • If you need help, we are ready to help and get you through the data collection
Frequently Asked Questions Dick Fairley March, 2010 dickfairley @gmail.com
FAQ Agenda • A brief overview of GSwE 2009 FAQs • Solicitation of additional FAQ topics
The FAQ Discussion Forum • http://www.gswe2009.org/faq/
FAQ Categories • Planning: 11 Q&As • Internal Communication: 3 Q&As • Acquiring Resources: 5 Q&As • External Communication: 5 Q&As • Implementation/Execution: 12 Q&As • Program Evolution: 6 Q&As
Planning FAQs • First steps in planning a new program • Finding champions • Identifying student market and projected enrollments • Identifying current and future employers • Communicating with potential students • Finding start-up funding • Options for starting a new academic program • Options for locating the program in the university • Locating faculty resources
Internal Communication FAQs • Internal stakeholders and their concerns • Contacting potential internal stakeholders • Marketing an existing or proposed program to internal stakeholders
Acquiring Resources FAQs • Acquiring faculty resources • Salary differences for industry-recruited faculty • Acquiring needed hardware and software resources • Sources of courseware • Other needed resources
External Communication FAQs • Identifying student market and projected enrollments • (same as 1.4) • Communicating with potential students • (same as 1.7) • Finding industrial champions • (same as 1.2) • Identifying employers of current and future graduates • (same as 1.6) • Gaining program visibility in the local community
Implementation/Execution FAQs • Maintaining control of the curriculum • Ratio of regular faculty vs external staff • Integrating external staff into the program • Pedagogical considerations • Accommodating students with advanced preparation • Options for gaining work experience • Options for combined undergraduate/graduate programs
Implementation/Execution FAQs • Relying on courses from other departments and programs • Teaching cross-cutting topics: • ethics, teamwork, oral and written communications • Kinds of laboratory facilities needed • Program delivery options
Program Evolution FAQs • Getting started by teaming with other universities • Gradually reducing reliance on other universities • Sustaining quality in light of program growth • Adapting a program to changes in the discipline • Addressing problems in areas such as: • course curricula, capstone projects, student success • Dealing with changes in technology
Planning for a Master of Science in Software Engineering Shawn A. Bohner Rose-Hulman Institute of Technology March 2010 bohner@rose-hulman.edu
First Things First • When persuading people to embark on a new graduate program, credibility is essential • The Graduate Software Engineering Reference Curriculum (GSwE) provides a measure of credibility for administrators and faculty alike
A Stroll Down Memory Lane • Graduated 1st BSSE student at RHIT in 2004 • Appointed Committee to research MSSE • Report Delivered to RHIT President April 2005 • Committee recommended establishment of a professional Master of Software Engineering • Shelved idea
Second Time’s a Charm • 2009 Graduate Software Engineering Reference Curriculum (GSwE) • Different President with Longer Vision • Burgeoning Software Industry in Indianapolis • A downturn in the economy
Midwest MSSE Programs CarrollUniversity University of St. Thomas AndrewsUniversity University of Wisconsin DePaulUniversity North DakotaState University University of Michigan NationalTechnologicalUniversity OaklandUniversity Rose-HulmanInstitute of Technology Kansas StateUniversity
Rose-Hulman’s MSSE Program • Mission: To develop leaders in software engineering through quality graduate education • Vision: To leverage RHIT’s software engineering resources for serving the software professional by offering a Master’s degree program: • focused on current knowledge for state-of-the-art software and systems engineering processes and outcomes • packaged and delivered for ease of access by practicing professionals and their employers • With content addressing the challenges of software engineering processes and tailored to meet the needs of employers • delivered by recognized experts and leaders in software engineering education and training
Rose-Hulman’s MSSE Program(cont.) • Target working software professionals • Terminal Degree (like an MBA) • Target education and experience: • Bachelor’s degree in computer science or engineering discipline • One year experience with sufficient skills in object-oriented programming, data structures, discrete mathematics and algorithm analysis • Program in Indianapolis be completely self-sufficient by third year of operation
Following Basic Curriculum Architecture BSEE and BSCE graduates Business graduates Old degree,recent experience BSSE and BSCS graduates Other degree,some experience BS + extensive experience Prep Material Baseline: Expected capability Graduates with a BS in Computing Core Materials University-Specific Materials Elective Materials Capstone Experience
MSSE Degree Requirements 51 Credit Hours • 40 hours of Software Engineering course work • 8 hours of capstone • 3 hours of software engineering or engineering management seminars Prerequisites • All RHIT requirements for graduate admission • At least 1 year's work experience in software (development / maint.) • Technical communication skills, both oral and written • Background in: • Object-oriented concepts • Data structures • Analysis of algorithms • Discrete mathematics
MSSE Degree Requirements Core Courses (6) • CSSE 571- SW Req’ts & Specification • CSSE 574- SW Arch. & Design I • CSSE 575- Maint. & Evolution • CSSE 576- SW Quality Assurance • MG 587- Systems Engineering • MG 527- Project Management SE Electives (2) • CSSE 572- SW Process Improvement • CSSE 573- Formal Methods • CSSE 577- SW Arch. & Design II • CSSE 578- SW Construction
MSSE Degree Requirements Specialization Electives (2) • CSSE 513- Intelligent Sys. • CSSE 532- Comp. Networks • CSSE 533- Database Sys. • CSSE 542- Comp. Security • MG 522- Org. Behavior • MG 523- Marketing in a Technical Environment • MG 526- Technology Mgt. & Forecasting • MG 533- Intercultural Communication • MG 535- Globalization, Strategy & Org. Change SE Capstone (2) • CSSE 597 Capstone Software Project I • CSSE 598 Capstone Software Project II Seminars (3) • 1 day / 1 credit courses
Expectations at Graduation 1. Show mastery of the software engineering knowledge and skills, and professional issues necessary to practice as a software engineer in a variety of application domains with demonstrated performance in at least one application domain. 2. Understand the relationship between software engineering and systems engineering and be able to apply systems engineering principles and practices in the engineering of software. 3. Show mastery of software engineering in at least one specialty such as embedded devices, safety critical systems, highly distributed systems, software engineering economics, or one of the knowledge areas of the GSwE Body of Knowledge. 4. 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. 5. Reconcile conflicting project objectives, finding acceptable compromises within limitations of cost, time, knowledge, existing systems, and organizations. 6. Design appropriate software engineering solutions that address ethical, social, legal, and economic concerns. 7. Understand and appreciate the importance of feasibility analysis, negotiation, effective work habits, leadership, and good communication with stakeholders in a typical software development environment. 8. Learn new models, techniques, and technologies as they emerge, and appreciate the necessity of such continuing professional development. 9. Analyze a current significant software technology, be able to articulate its strengths and weaknesses, and be able to specify and promote improvements or extensions to that technology.
Basic Strategy • Part of a Long-Term Strategy • Based off Successful BSSE and the new Graduate Software Engineering Reference Curriculum • Start Fall 2010 • Market Spring and Summer (visits, web, advertise, …) • Target 20 students in program first year • Ramp up as demand dictates and quality assured • Target the high-end -> best and brightest