Educators' Symposium Monday
Chair: Jutta Eckstein
Objects in Action
The Educators’ Symposium is a unique forum for educators from both academia and industry who have a vested interest in OO education and training. The Educators’ Symposium allows the exchange of ideas in a number of ways, including featured talks by professionals on the cutting edge of OO education, paper presentations, and activity sessions. Furthermore the successful poster session has been expanded to an exhibition. This exhibition provides the ideal opportunity for exchanging teaching and learning techniques, networking with professionals facing similar challenges, and exploring teaching and learning tools. All attendees are invited to actively participate in the exhibition by bringing any course related material they would like to share (exercises, teaching and learning tools, effective evaluation questions and methods, URLs, descriptions of course needs, things you want to brag about or advertise, etc.).

The Educators’ Symposium Committee appears in the OOPSLA 2000 Committee section of the Program.

Hilton Minneapolis – Salon A

8:30 am - 10:00 am
Welcome and Keynote Presentation

Educating for Change
Kent Beck, First Class Software

Teaching collaboration skills is more important than teaching technical skills.

Here are some reasons projects fail:

  • Furniture is arranged badly
  • People cannot interact without creating anger
  • People are unaware of their bodies, leading to fatigue, injuries, and turnover
  • People are unaware of cultural differences of body space, communication style, and language
  • People are focused on individual measurement and achievement, instead of team achievement

School teaching (at least the way I was taught) not only didn’t address these issues, it didn’t seem to be aware that they even existed. I’m afraid I’m only here to complain. By bringing them up, I hope to spark discussion of how to include them in the software engineering curriculum.

10:00 am - 10:30 am - Break

10:30 am - 12:00 noon
Paper Presentations
Part I: Academia and Industry Cooperation

Restructuring Software Engineering Education towards Object-Oriented Technology at Wroclaw University of Technology
Ludwik Kuzniarz, Wroclaw University of Technology, Poland
David Leigh, Staffordshire University, UK
The paper describes an effort aimed at restructuring software engineering education at the Computer Science Department of the Wroclaw University of Technology. The effort was supported by an international cooperative project, working under a TEMPUS Structural Joint European Project, concerned with the production of innovative syllabus materials and frameworks within three Polish universities.

Educators and Consultants as Mentors
Dennis Mancl, Lucent Technologies, Bell Labs
Educators and consultants are often in a mentor role – their goal is to assist someone who is doing a software development task, in a way that improves that person’s ability to do the task unaided in the future. Mentoring is a hard job, requiring a lot of patience and an understanding of “people issues.” This paper presents some ideas on how to face the challenges of the mentoring process. These ideas should be helpful both to the academic community and to consultants/trainers in industry. The first part of the paper presents some of the basic issues: some of the categories of obstacles to understanding that mentors must surmount. The second part presents some specific tips for object oriented design mentoring.

The Multiple Roles and Benefits of Working Part-Time as a Professor and Part-Time Partnership with Industry
Ana Trevino, ITESM, Campus Monterrey, Mexico
It is generally accepted that radical changes are appearing in the world. New ways of communicating, sharing and making business, globalization, virtualization, collaboration drive changes from an energy-based to a knowledge-based economy. These changes are demanding competencies (knowledge, skills, attitudes, and values) which now come into our consciousness. We as educators and training professionals need to first think how to incorporate these competencies and then how we can prepare our “clients” for this change. In this presentation I want to share with my colleagues the experiences I’ve had in making a shift from a full-time teacher to a part-time teacher and part-time consultant-developer: the new roles demanded new competencies, helped me to improve my courses along the way. My students have acquired those competencies and I think I can understand better what industry is expecting from young professionals.

To enable these kind of activities we must have administrative and academic support conditions. I would also like to share how we work toward those conditions with a positive result.

Part II: Techniques for Teaching Specific OO Concepts

A Sequence of Projects Introducing JavaBeans Components and Other Design Patterns
Benjamin Shults, Western Carolina University
This paper describes a sequence of programming projects and the lessons learned from their use in a course on JavaBeans components. In the fall of 1999, I designed and taught a course on advanced Java programming. The target audience was students who had had only two semesters of C++ programming. I decided to aim at getting students to design objects using the JavaBeans software component model. This allowed me to concentrate on a topic that is not typically covered in another course and allowed the students to concentrate on object-oriented design.

A Java Student Framework
Hugh Vincent, Middlesex University, UK
This paper describes the design and use of a “Java Student Framework” as a teaching vehicle and a possible solution to the problems that can occur when students attempt to use professional frameworks where design details are deeply hidden, making the behavior of the framework sometimes seem unpredictable and incomprehensible.

Some Lessons for Teaching Dynamic Polymorphism
Martin L. Barrett, East Tennessee State University
This paper describes several difficulties associated with teaching dynamic polymorphism. As a design method, polymorphism allows different types of objects derived from an inheritance tree to be created at run time, yet be seen by a client as of all the same type – the root class of the tree. To be used properly, polymorphic designs must adhere to several rules. Those rules and their implications for teaching are discussed here.

12:00 noon - 1:00 pm - Lunch
Hilton Minneapolis – Salon B

1:00 pm - 1:45 pm
Invited Talk

Apprenticeship in a Software Studio: An Old and New Model for Education
Nathaniel Talbott and Ken Auer, RoleModel Software Inc.
The current classroom education model is fundamentally flawed. In order to become a competent or great software developer, wisdom is needed more than knowledge. Wisdom is best gained in the context of apprenticeship to a master. This paper discusses a software studio model of education, based on the experience of a master and his apprentice, and their vision for the future.

1:45 pm - 2:45 pm
Paper Presentations
Part III: New Teaching Approaches

Changing a Team Subject to an Object-Oriented Structure: A Case Study of a Software Engineering Subject
Michael Whitelaw, Charles Sturt University, Wagga Wagga, Australia
A final year undergraduate team-based software engineering project has been revised to accommodate object-oriented technology using the eXtreme Programming methodology. Such a project not only requires the student to integrate all the knowledge in the baccalaureate but also to learn team skills. This paper discusses the support of students’ integration of knowledge by the use of “Visiting Consultants” who assist with specific issues within the overall framework of the project. The paper also discusses methods whereby the student can be fairly assessed on an individual basis when the outcome is a team-based project.

Software’s Other Crisis: One of Identity
Alan O’Callaghan, De Montfort University, Leicester, UK
As a discipline we have been talking about the “software crisis” for more than thirty years. But as there has been no sign of qualitative improvement in the situation it is probably best thought of as a “chronic disorder.” However, since the last recession the computing industry has been seen clearly to be gripped as firmly by the general laws of capitalist political economy as any other. Combined with the mobile/distributed computing revolution that we are already witnessing, it seems unlikely that the “software crisis” will be allowed to continue to be unaddressed in a practical way. The paper argues that the traditional boundaries of Computer Science will, in that situation, turn the discipline itself into an obstacle for progress if it is not itself adapted to the unfolding situation. An argument is made that architecture and design not only have to be generalized in the curriculum, but placed at its center, in effect revolutionizing notions of Computer Science itself as a discipline. The paper acknowledges that, long-term, there are fundamental issues to do with the philosophy of science, the structure of academic disciplines and institutional issues that stand in the way of the “redesign” of Computer Science. It does not present a blueprint for an alternative, but instead puts forward some modest proposals that will immediately make our teaching more relevant while at the same time sharpening the contradictions that will more clearly reveal the discipline’s crisis of identity.

Object-Oriented Software Development for the Internet: A Capstone, Partly Distance Course
Joseph Bergin, Pace University, New York
This paper describes a course taught at Pace University for the past several years that combines many elements, including object-oriented software engineering and programming as well as distance education. The course is taught to 30 or so students, mostly at the Master’s degree level, with a few undergraduates admitted. We describe the basic course design and its outcomes. We also give some advice to those intending to teach similar courses.

A Different Approach to Teaching OOA/D
Ivan Tomek, Acadia University, Wolfville, Canada
The discipline of Object-Oriented Analysis and Design (OOA/D) includes a variety of subjects and each of them presents a number of alternative approaches. Since all cannot be presented in class, students should be shown that there is not only one but rather a variety of OOA/D methodologies and practices, and they should experience at least some of them. We describe a course in which we introduced two methodologies representing the opposite ends of the spectrum including one typical conventional approach with a detailed sequence of recommended steps, guidelines, and artifacts, and another one belonging into the emerging category of “flexible processes,” namely eXtreme Programming. We include a brief description of the context of the course, the two processes that were presented, the implementation of the course, and preliminary conclusions and recommendations.

We consider the following to be the main contributions of this paper: Teaching two rather than one OO process in order to expose the range of possible approaches, and a description of a first attempt at teaching eXtreme Programming.

2:45 pm - 3:45 pm - Exhibition and Break

3:45 pm - 5:15 pm

Object Principles: Back to Basics
John Daniels, Syntropy, Ltd., UK
As object technology becomes increasingly submerged beneath delivery technologies (such as components) that exploit its potential, it is ever more important that educators are clear about the underlying object principles that provide the benefits we claim. This session attempts to answer the question: What is OO really all about? Can you write down and explain the key principles that make the object-oriented approach so important and powerful? It’s surprisingly difficult to do this. Worse still, the concepts we think are “essential” to OO seem to change over time. For example, a few years ago the concept of class inheritance was thought to be essential. Now we see that class inheritance is an implementation code-sharing trick, and even interface inheritance is but one way – out of many – of describing conformance to contracts. Will we be able to recognize the important principles in the diverse technologies that claim to be “object-oriented?” And if we can’t, how can we expect our students to do so?

The session will be highly interactive, in the “think tank” style. Working in small groups, participants will determine an agreed position. Groups will then merge to build (hopefully) a consensus. The session will result in a number of position statements that will be collected and published.

5:15 pm - 5:30 pm - Wrap-Up and Open Microphone

Back to Final Program

 OOPSLA'98 Home