Presentation on theme: "SPLASH 2010 A very partial and subjective report."— Presentation transcript:
SPLASH 2010 A very partial and subjective report
HAoSE2010 The 2nd Workshop on Human Aspects of Software Engineering Ohad Barzilay Developers Attentiveness to Example Usage
Educators' and Trainers' Symposium Keynote : The impending ordinariness of teaching concurrent programming Doug Lea, SUNY Oswego, United States The process of infiltrating Computer Science and Software Curricula with instruction on concurrent programming is similar to those that occurred with object-oriented programming and design patterns over the past two decades. Some basic ideas of parallelism (for example operations on aggregates including map and reduce) are becoming routine alternatives to sequential loops and can be introduced very early in the curriculum. Similarly, some uses of actors extend event-based programming. And coverage of concurrent data structures and algorithms such as non-blocking queues is appropriate in courses covering other non-obvious data structures such as B-Trees.
Educators' and Trainers' Symposium Panel Manifesto: a New Educational Programming Language Andrew Black, Portland State University, United States Kim B. Bruce, Pomona College, United States James Noble, Victoria University of Wellington, New Zealand No object-oriented programming language is obviously suitable for teaching introductory computer science. Languages in common use are showing their age, while no emerging language seems clearly fit for this purpose. The object-oriented programming languages community should take this opportunity to work together to select, to shape, or design the next educational programming language. The language should support introductory teaching well, embody contemporary best practice in programming language design, and could provide a foundation for future research in language design and implementation.
PLATEAU Onward! Workshop: Evaluation and Usability of Programming Languages and Tools Keynote : Gilad Bracha, The Fitness Function for Programming Languages: A Matter of Taste? Programming languages elicit an almost religious fervor among their adherents. In contrast, researchers are increasingly searching for objective ways in which languages and related software artifacts can be evaluated. We see increased emphasis on rigorous criteria such as mathematical formalisms, extensive implementation experience or empirical studies. So, what makes a programming language or tool "good"? This talk gives a personal perspective on this question.
The Case for Evolvable Software Stephanie Forrest As programmers, we like to think of software as the product of our intelligent design, carefully crafted to meet well-specified goals. In reality, large software systems evolve inadvertently through the actions of many individual programmers, often leading to unanticipated consequences. Because software is subject to constraints similar to those faced by evolving biological systems, we have much to gain by viewing software through the lens of evolutionary biology. The talk will highlight recent research applying the mechanisms of evolution quite directly to the problem of repairing software bugs.
Art, Science, and Fear Benjamin C. Pierce Scientists and artists share a conviction that key elements of their work—creativity, craft, analysis, intuition—are somehow deeply similar. Most Onward! participants will have a clear sense of the “scientific variants” of these qualities, and of what it takes to manifest them in our day-to-day work as researchers and software designers. This talk looks at how ideas are developed and refined in the making of visual art, how the same qualities—especially creativity, the most ineffable—come into play, and how artists and scientists grapple with the various fears that beset creative work.
Searching Without Objectives Kenneth Stanley Subtitle: To Achieve Our Highest Goals, We Must Be Willing to Abandon Them Someday computer scientists may build systems of astronomical complexity that provide profound benefit to humanity. However, the question today is how such feats will ultimately be achieved. As is common with technology, present limitations to modern approaches challenge our imagination to search for new paradigms and organizing principles. To examine the prerequisites to achieving our most ambitious objectives, this talk will contemplate the implications of recent counterintuitive results from experiments with evolutionary algorithms that suggest that search (which is a metaphor for innovation in general) is sometimes most effective when it is not explicitly seeking an objective. In particular, through several experiments in interactive evolution and with an algorithm called "novelty search," a picture of innovation is emerging in which objectives can help to guide us one stepping stone away from our present understanding, yet ultimately become handcuffs that also blind us to essential orthogonal discoveries on the road to long-term innovation. While the implications of these insights for reaching our highest goals are in part sobering, the silver lining is that much can be gained by liberating ourselves from the temptation to frame all our projects in terms of what they ultimately aim to achieve. Instead, with evidence in hand, we can exploit the structure of the unknown by orienting ourselves towards discovery and away from the shackles of mandated outcomes.
What is Picbreeder? Picbreeder is based on an idea called evolutionary art, which is a technique developed by scientists that allows pictures to be bred almost like animals. For example, you can start with a butterfly and actually breed it into an airplane by selecting parents that look like airplanes. While evolutionary art used to be the solitary activity of a small group of experts, Picbreeder brings it to the masses so that not only can you breed our own pictures and share them with others, but you can also create new breeds (called branches) from other people's pictures. It takes a little practice, but it's a surprisingly powerful way to produce original artwork without the need for prior talent or skill.
F#: Don Syme F#: Taking Succinct, Efficient, Typed Functional Programming into the Mainstream The release of F# 2.0 makes functional programming a viable choice for mainstream development in the context of.NET. We'll look at the evolution that set the scene for F#: the web and multi-core changes that have taken place in the industry to make functional programming more relevant, the long and rich history of functional programming itself, through to the technical stuff: the introduction generics in.NET, LINQ in C# and the evolution of F# itself. We'll look at F# today including its parallel and asynchronous programming support, and sneak a preview of F# 3.0 as we integrate a world of data into the functional programming experience.
Static and Dynamic Type Systems Stefan Hanenberg: An Experiment About Static and Dynamic Type Systems - Doubts About the Positive Impact of Static Type Systems on Development Time.