SPA Conference session: Paradigms of Programming: Hands On

One-line description:
Session format: Workshop (150 mins) [read about the different session types]
Abstract: In his 1979 Turing Award talk, Robert Floyd said "If the advancement of the general art of programming requires the continual invention and elaboration of paradigms, advancement of the art of the individual programmer requires that he expand his /repertory/ of paradigms." The paradigms that Robert Floyd was talking about were not the just the coarse-grained things which we call paradigms today: object-oriented, functional, rule-based, data flow, structured, and constraint-based. Rather, they are approaches to problems which languages either support well or not. In this session, we will do a series of hands on coding exercises which explore various approaches to problems and discuss how we can move the field away from solution-blindness, the state of believing that the first solution one discovers is the best or only one.
Audience background:At least five years of development experience.
Benefits of participating:Participants will learn a variety of paradigms, and how to recognize new ones. They will discover that the would of solution approaches is far wider than they might have imagined.
Materials provided:Handouts and problem statements.
Process:The session will start with an introduction to the ideas, and a few examples. Then, participants will break out into teams to work and rework a problem, in code, using several paradigms. We will them compare and contrast them.
Detailed timetable:00:00-00:15 Introduction
00:15-00:45 Presentation of examples
00:45-02:00 Exercise (multiple segments)
02:00-02:30 Discussion of Results
Outputs:We can make a summary and mail it to the participants.
History:We had a similar workshop last year. This one differs in that it consists of hands-on coding. We will also be approaching the notion of paradigm at a finer grain than we did last year.
1. Michael Feathers
Object Mentor
2. Steve Freeman
M3P Ltd