37
Whither Software Whither Software Engineering Education? Engineering Education? Mary Shaw Mary Shaw Institute for Software Research Institute for Software Research Carnegie Mellon University Carnegie Mellon University

Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

Embed Size (px)

Citation preview

Page 1: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

Whither Software Engineering Whither Software Engineering Education?Education?

Mary ShawMary ShawInstitute for Software ResearchInstitute for Software Research

Carnegie Mellon UniversityCarnegie Mellon University

Page 2: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

Conference theme

Ensuring that academic programs match actual real-world needs

Today, considerstakeholders

status quo

what next?

Page 3: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

Conference theme

Ensuring that academic programs match actual real-world needs

Today, considerStakeholders: Students, users, developers, educators

Status quo

What next?

Page 4: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

For current undergraduates …For current undergraduates ……email is too slow, snail mail is irrelevant

…card catalogs have never been the way to find a book

…there has always been DNA fingerprinting & genome maps

…there has always been a World Wide Web

…avatars have nothing to do with Hindu deities

…cable TV has always provided phone service

…wars have always been broadcast on TV in real time

…dey r alws txtN 1 NothA

…books have always been readable on electronic screens

…electronic filing of tax returns has always been possible

…phones have always had caller ID

…Dilbert has always been ridiculing cubicle culture

Beloit Mindset List, classes of 2011-2014

Page 5: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

… … as for the (American) adults …as for the (American) adults …... 79% use the Internet

decreases with age Increases with education, income

…85% have cellphones (95% of 18-34yo)28% have 4+ internet devices

…47% use cellphones/tablets for news/information42% weather, 37% local business, only 11% news via appsmobile devices displacing laptops and desktops for access

…users increasingly manage reputation with search & social media57% of internet users monitor reputation with search engines46% of internet users have created profiles on social network sites18-29yos are more likely to limit personal information

Pew Internet and American Life Project

Page 6: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University
Page 7: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

Same

Very similar

Page 8: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

There are There are lotslots of end users … of end users …

Scaffidi et al. Estimating the Numbers of End Users and End User Programmers. VL/HCC'05.

Using data from the Bureau of Labor Statistics, we estimate that over 90M Americans will use computers at work in 2012. Of these, only about 2.5M will be professional programmers; 40.5M will be managers and (non-software) professionals.

This does not include home users or non-US users, so there will be many more than 90M total end users. Most of them will “program” in some way.

Page 9: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

… … and they are not all alikeand they are not all alike

Scaffidi et al. Dimensions Characterizing Programming Feature Usage by Information Workers. VL/HCC'06

Analysis of web-based survey of Information Week readers

Page 10: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

End users are normal peopleEnd users are normal people

End users lack robust mental models of computingthey fail to do backups, don’t understand storage modelsthey can not safely configure a network

End users put themselves at riskthey execute malware and open attachmentsthey do not understand privacy issuesthey trust information without validating sources

SE responds by trying to “fix” the usersBut there is ample evidence that most people do not

reason in the linear, rational form that SE prefers

Page 11: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

Computing, electronic communication, and the internet have penetrated deeply into American life

The public at large remains largely consumers ……but increasingly producers of information…with synthesis, fusion, and programming lagging

CS/SE has not served the public well …… products are still often inscrutable… system administration is not for the faint of heart… programming tools are mostly still for geeks… we educators don’t do much to help them

Page 12: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

What about the faculty What about the faculty (in PhD-granting schools)(in PhD-granting schools)??Rank 2009-10 2001-02 %change

N % N %

Full 2204 40 1767 35 25Associate 1677 31 1184 24 42Assistant 892 16 1246 25 28Teaching Faculty 721 13 785 16 8Total Faculty 5494 4982 10

PhD enrollment 15,038 10,021 50

BS enrollment 58,784 94,461 38

Growing slowly, but BS enrollments down Limited capacity to teach nonmajors (the 90 million)

Getting more senior Less likely to use computing as students do

CRA Taulbee Survey 2001-2002 and 2009-2010

Page 13: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

Conference theme

Ensuring that academic programs match actual real-world needs

Today, considerStakeholders: Students, users, developers, educators

Status quo: The world, research, curriculum

What next?

Page 14: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

The Ten Best Jobs of 2011CareerCast, May 2011

1. Software Engineer

2. Mathematician

3. Actuary

4. Statistician

5. Computer Systems Analyst

6. Meterologist

7. Biologist8. Historian9. Audiologist10. Dental Hygienist

Page 15: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

““Red Hot: The Computer Science Red Hot: The Computer Science Job Market “Job Market “

From ACM TechNews, 5/23/2011

“Across the United States, new computer science graduates from strong programs are receiving extraordinary job offers, writes Ed Lazowska … 2011 CSE graduates at U Washington have reported starting salaries as high as $105,000 and signing bonuses as high as $30,000 …due to the recent tech industry boom … just about every field is starting to rely heavily on information technology …”

Page 16: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

In other news …In other news …Congressman wants FTC probe of iPhone tracking

Sony Hacked Again; 25 Million Entertainment Users' Info at Risk

Amazon Apologizes For Server Disaster

Apple kills App Store number growth, focuses on fairness, app quality

Tweets, Facebook welcome in Mass. courtroom

'Do Not Track' Legislation Is On the Move

Oracle updates Business Intelligence with iPad in mind

Password-storing service may have been hacked

Control your home with your smartphone

Cisco rolls out data center pods

Raspberry Pi: Computer on a stick for only $25

State Dept computer error halts immigration lottery

Amazon server may have been used in Sony attack

Page 17: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

Internet resourcesInternet resources

Information: unstructured text, formatted text, databases, live data feeds, images, maps, current status (e.g., inventory, location)

Calculation: reusable software components, applications that can be invoked remotely (e.g., services)

Communication: messages, social networking, streaming media, synchronous communication, agent systems, alert/notification services, highly distributed systems

Control: coordination for use of resources, access to registration and subscription services

Services: simulation, editorial selection, markets evaluation, secondary information, responsive experts,

Page 18: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

Properties of internet resourcesProperties of internet resourcesAutonomous: independently created and managed, may

change structure or format without notice

Heterogeneous: different packagings, output often for viewing only, different business objectives, conditions of use

Open affordances: independent systems, not dependent components, incidental effects may be useful, humans integral to some resources

Undermines common assumptions: it’s all about programs; someone is “in charge” or “in control”

Page 19: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

Learning environments, tools, and eLearning

Education & training for “real-world” Software Engineering practices

Systems and Software Engineering

Curriculum and inter-disciplinary offerings

Training models in industry

Combining research and teaching

Industry-academia collaboration models

Student performance evaluation and assessment

Student projects and internships

Combining research and curriculum

Education theory and pedagogy

Here at CSEE&T …Here at CSEE&T …

Page 20: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

Using Statistical Tests to Assess Randomized Algorithms

Impact of Fault Models on Software Robustness Evaluation

Refactoring Pipe-like Mashups for End-User Programmers

Mining Message Sequence Graphs

An Empirical Study of Build Maintenance Effort

Inferring Better Contracts

Coverage Guided Systematic Concurrency Testing

Frequency and Risks of Changes to Clones

Symbolic Model Checking of Software Product Lines

Program Abstractions for Behaviour Validation

Detecting Software Modularity Violations

Reverse Engineering Feature Models

… … and at ICSE …and at ICSE …

Page 21: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

ICSE Research Track CSEE&T ICSE Research Track CSEE&T

Page 22: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

ICSE Research Track CSEE&T ICSE Research Track CSEE&T

Page 23: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

ICSE Research Track News Headlines ICSE Research Track News Headlines

Page 24: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

Conference theme

Ensuring that academic programs match actual real-world needs

Today, considerStakeholders: Students, users, developers, educators

Status quo: The world, research, educators

What next?: What to teach? To whom?

Page 25: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

What should we teach?Durable, fundamental ideas …… in the context of current practice

To whom?Future professional software developersPracticing software engineersOther computer scientistsNon-majors == future end users

Page 26: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

Durable ideasDurable ideas

Abstraction (and the Hoare mapping)

Exponential growth

Divide & conquer (reductionistic vs emergent)

Design spaces

Tradeoffs – utility, costs, benefits

Models, programs as models

Algorithms/representations

Predicate logic

Not to have blind faith in analysis

Design as management of scarce resources

Correctness relative to specification vs in context

Page 27: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

CMU’s approach to SE education CMU’s approach to SE education

Distinctive nature of engineering for softwareSoftware is design-intensive; manufacturing cost is smallSoftware is symbolic, abstract, more constrained by complexity

than by physical laws

Software engineering rests on three foundationsCore computer science: technical conceptual foundationEngineering knowledge: design and problem solvingSocial and economic context: basis for fitness for use

Software engineering is the branch of computer science that creates practical,

cost-effective solutions to computation and information processing problems,

preferentially applying scientific knowledge

Page 28: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

Core Computer ScienceCore Computer Science

Abstraction enables the control of complexity.

Imposing structure on problems often makes them more tractable, and a number of common structures are available.

Symbolic representations are necessary and sufficient for solving information-based problems.

Precise models support analysis and prediction.

Common problem structures lead to canonical solutions.

Exponential growth limits many solutions

Page 29: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

CSTB: CS research …CSTB: CS research …

… involves symbols and their manipulation

… involves the creation and manipulation of abstractions

… involves the creation and study of algorithms

… creates artificial constructs, unlimited by physical laws

… exploits and addresses exponential growth

… seeks fundamental limits on what can be computed

… addresses the complex, analytic, rational action that is associated with human intelligence

CSTB: Computer Science: Reflections on the Field, Reflections from the Field, National Academies Press 2004

Page 30: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

Engineering KnowledgeEngineering Knowledge

Engineering quality resides in engineering judgment

Quality of the software product depends on the engineer's faithfulness to the engineered artifact.

Engineering requires reconciling conflicting constraints

Engineering skills improve as a result of careful systematic reflection on experience.

Note: this views SE as an engineering discipline, notas a process and management discipline

Page 31: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

Social and Economic ContextSocial and Economic Context

Costs and time constraints matter, not just capability.

Technology improves exponentially, but human capability does not

Successful software development depends on teamwork by creative people.

Business and policy objectives constrain software design and development decisions as do technical considerations.

Software functionality is embedded in institutional, social, and organizational structure;

Clients usually don’t know precisely what they want; the developer must facilitate discovery of requirements

Page 32: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

Pedagogical principlesPedagogical principles

University education must provide knowledge of enduring value together with current competency

Tools and skills cannot replace engineering judgment

Hands-on, attentive time on task is critical to learningmuch more important than format of presentation

Curriculum design is a resource allocation problem

Admissions should be selective, and we should make every effort to help admitted students succeed

Sampling is ok; we do not have to cover everything

The “Carnegie Plan” provides excellent guidance

Page 33: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

Carnegie PlanCarnegie Plan

That is, teach students to think critically and independently and to act as responsible professionals in their disciplines to be informed, engaged citizens in the world

A Carnegie Mellon education aims to prepare students for life and leadership. In a continually changing world, the most

important qualities we can help our students develop are the ability to think independently and critically, the ability to learn, and the ability to change and grow. As future leaders they must

have courage to act, be sensitive to the needs and feelings of others, understand and value diversity, and honor the

responsibilities that come with specialized knowledge and power.

Page 34: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

What about the end users?What about the end users?

80 million users are creating information/computing artifactsmostly without thought of maintenanceMostly without considering engineering issues

These artifacts only vaguely resemble software of the kind we teach

We are not giving them much helpFor most, taking our courses is not what they needFor most, our level of detail and rigor is too high

They need simple, intuitive modelsThe models need to be good-enough (cf thermostats)

Page 35: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

Why doesn’t SE seem “sexy”?Why doesn’t SE seem “sexy”?

Page 36: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

Software-Intensive socio-technical systems

involving data, communications, …

Closed-shopsoftware

Software Engineering

People whose principal professional is

not software, but who develop software

Professional SW developers

Software Developers

80 million end users, mostly

creating information artifacts

2.5 millionprofessionals

Software Education

Page 37: Whither Software Engineering Education? Mary Shaw Institute for Software Research Carnegie Mellon University

??