1 / 37

Whither Software Engineering Education?

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, consider stakeholders status quo what next?. Conference theme

havard
Download Presentation

Whither Software Engineering Education?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Whither Software Engineering Education? Mary Shaw Institute for Software ResearchCarnegie Mellon University

  2. Conference theme • Ensuring that academic programs match actual real-world needs • Today, consider stakeholders status quo what next?

  3. Conference theme • Ensuring that academic programs match actual real-world needs • Today, consider Stakeholders: Students, users, developers, educators Status quo What next?

  4. 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

  5. … 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/information • 42% weather, 37% local business, only 11% news via apps • mobile devices displacing laptops and desktops for access • …users increasingly manage reputation with search & social media • 57% of internet users monitor reputation with search engines • 46% of internet users have created profiles on social network sites • 18-29yos are more likely to limit personal information Pew Internet and American Life Project

  6. Same Very similar

  7. There are lots of end users … 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. Scaffidi et al. Estimating the Numbers of End Users and End User Programmers. VL/HCC'05.

  8. … and they are not all alike Analysis of web-based survey of Information Week readers Scaffidi et al. Dimensions Characterizing Programming Feature Usage by Information Workers. VL/HCC'06

  9. End users are normal people • End users lack robust mental models of computing • they fail to do backups, don’t understand storage models • they can not safely configure a network • End users put themselves at risk • they execute malware and open attachments • they do not understand privacy issues • they trust information without validating sources • SE responds by trying to “fix” the users • But there is ample evidence that most people do not reason in the linear, rational form that SE prefers

  10. 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

  11. What about the faculty (in PhD-granting schools)? • Rank 2009-10 2001-02 %changeN % N % • Full 2204 40 1767 35 25 • Associate 1677 31 1184 24 42 • Assistant 892 16 1246 25 28 • Teaching Faculty 721 13 785 16 8 • Total 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

  12. Conference theme • Ensuring that academic programs match actual real-world needs • Today, consider Stakeholders: Students, users, developers, educators Status quo: The world, research, curriculum What next?

  13. The Ten Best Jobs of 2011 • CareerCast, May 2011 • Software Engineer • Mathematician • Actuary • Statistician • Computer Systems Analyst • Meterologist • Biologist • Historian • Audiologist • Dental Hygienist

  14. “Red Hot: The Computer Science 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 …”

  15. 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

  16. Internet 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,

  17. Properties of internet resources • Autonomous: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”

  18. Here at CSEE&T … • 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

  19. … and at ICSE … • 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

  20. ICSE Research Track CSEE&T

  21. ICSE Research Track CSEE&T

  22. ICSE Research Track News Headlines

  23. Conference theme • Ensuring that academic programs match actual real-world needs • Today, consider Stakeholders: Students, users, developers, educators Status quo: The world, research, educators What next?: What to teach? To whom?

  24. What should we teach? • Durable, fundamental ideas … • … in the context of current practice • To whom? • Future professional software developers • Practicing software engineers • Other computer scientists • Non-majors == future end users

  25. Durable 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

  26. CMU’s approach to SE education • Distinctive nature of engineering for software • Software is design-intensive; manufacturing cost is small • Software is symbolic, abstract, more constrained by complexity than by physical laws • Software engineering rests on three foundations • Core computer science: technical conceptual foundation • Engineering knowledge: design and problem solving • Social 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

  27. Core 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

  28. 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

  29. Engineering 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

  30. Social 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

  31. Pedagogical 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 learning • much 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

  32. Carnegie Plan 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. • 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

  33. What about the end users? • 80 million users are creating information/computing artifacts • mostly without thought of maintenance • Mostly without considering engineering issues • These artifacts only vaguely resemble software of the kind we teach • We are not giving them much help • For most, taking our courses is not what they need • For most, our level of detail and rigor is too high • They need simple, intuitive models • The models need to be good-enough (cf thermostats)

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

  35. Software Engineering Software-Intensive socio-technical systems involving data, communications, … Closed-shopsoftware Software Developers People whose principal professional is not software, but who develop software Professional SW developers Software Education 80 million end users, mostly creating information artifacts 2.5 millionprofessionals

  36. ?

More Related