Tuesday, May 24, 2011

Live Blog from ICSE 2011: CSEE&T Keynote by Mary Shaw

Mary Shaw, winner of last year's Nancy Mead award for Excellence in Software Engineering Education gave the second CSEE&T keynote this morning. It was entitled: "Whither Software Engineering Education?". She promised to put the slides online, and I will edit this post to link to them when I find out where they are.

Her main message, as I understood it, was that we need to extend software engineering education to a broader group of people, including professionals and other users who implicitly create online content.

She cited studies, including those by Pew Internet, which indicate that in the US there are around 80 million computer users creating computer artifacts, about half of which are professionals. There are only a million computer scientists, just over half a million computer programmers, and a million software engineers.

However most of the 80 million create computing artifacts (spreadsheets, word processing documents, Google Docs, facebook pages etc.) without sufficient thought for maintenance, backup, correctness, testing, network security and other engineering issues. She also pointed out that most spreadsheets contain no formulas.

The level of detail and rigor provided in our education of software engineers is too high for these people: They need simple, intuitive models.

She created Wordles from recent computing headlines, and from the ICSE and CSEE&T papers, showing that the topics in headlines have very little to so with what SE researchers are studying.

She suggested that everybody should be taught the following durable ideas
  •   Abstraction and the Hoare mapping
  •   Exponential growth
  •   Divide and conquer
  •   Design spaces
  •   Tradeoffs
  •   Models, and programs as models
  •   Algorithms
  •   Predicate logic
  •   Not to have blind fait in analysis
  •   Design as management of scarce resources
  •   Correctness relative to specification as apposed to in context
Unfortunately she didn't justify why this particular set of topics is so great, and in particular how they would apply to the broader social group to which she thinks they should be taught.
She also listed the following pedagogical principles
  •    Tools and skills cannot replace engineering judgment
  •    Hands on attentive time on task is critical
  •    Curriculum design is a resource allocation problem
  •    Admissions should be seletive, and then make efforts to help admitted students to succeed
  •    Sampling is OK: we do not have to cover everything in the curriculum
She said we should adjust our definition of software engineering to cover software-intensive socio-technocal systems involving data.

An audience member pointed out that that the concept of software carpentry relates to her talk. I agree that this certainly seems relevant.

Overall a very interesting talk.

For more from CSEE&T and ICSE, see my post yesterday.

No comments:

Post a Comment