Educators' Symposium

ChairJames Heliotis
Rochester Institute of Technology

Join us at OOPSLA's 17th Educators' Symposium, the premier forum for educators in academia and industry with an interest in object-oriented and related technologies. This one-day conference-within-a-conference offers a venue for academics and professional trainers to share their experiences and to consider new ideas that can help us all understand and teach better. The symposium consists of formal paper presentations, exercises, panels and shorter informal presentations.

Our keynote speaker this year is David Gries, a senior member of the Computer Science faculty at Cornell University.

Please remember, you must register for the symposium to attend these sessions.


Educator's Symposium

Keynote Presentation: Teaching OO to Beginners

Room: 103Date: Oct 20, 2008Time: 9:00 - 10:30
David Gries
Cornell University

Abstract

Professor Gries shares his experience and insight in teaching object concepts to students just starting out in computer science.



Scaffolding for Multiple Assignment Projects in CS1 and CS2

Room: 103Date: Oct 20, 2008Time: 11:00 - 11:30
Clif Kussmaul
Muhlenberg College

Abstract

This paper describes several projects which are used to support multiple assignments in CS 1 and CS 2. Each project has evolved into its present configuration over several years. This paper fo-cuses specifically on various types of scaffolding used to increase the effectiveness of such projects, and identifies some lessons learned and best practices for faculty seeking to adapt or create such projects for their own environments.

CS1, CS2, multiple assignments, projects, scaffolding, unit testing.



Re-Engineering the AlgorithmA Project for Long-Term Maintenance

Room: 103Date: Oct 20, 2008Time: 11:30 - 12:00
Willie James
Department of Computer Science & Engineering, Cal State San Bernardino
Phil Lucas
Department of Computer Science & Engineering, Cal State San Bernardino
John O'Connor
Department of Computer Science & Engineering, Cal State San Bernardino
Arturo Concepción
Department of Computer Science & Engineering, Cal State San Bernardino

Abstract

The AlgorithmA project has been in existence since 1991 and is used as an on-going project in the software engineering class taught at CSUSB. In 1998, the project was first implemented on the Internet using Java. In 2007, the maintenance of the project was a big challenge because of the size of the project and the complexity of the architectural design. This paper talks about the decision process of the software engineering class that led to the reengineering of the entire AlgorithmA project, which is a situation that actually happens in a real software company. The observations and experiences of the project manager, the team leader of the maintenance team, and the team leader of the Java team that implemented the re-design of the project, are discussed in this paper. The re-design followed the Model/View/Controller (MVC) model and using the Observer and Factory patterns, made the AlgorithmA project maintainable and extensible for many more years to come.



GPS in CS I and II

Room: 103Date: Oct 20, 2008Time: 13:30 - 13:45
Michael Rogers
null
Harley Eades
null

Abstract

Through the magic of the Global Positioning System (GPS), anyone can find their location, anywhere on the planet, to within a few centimeters; drivers can navigate through the most Byzantine of street mazes with nary a care; farmers can plough perfectly straight furrows; indeed, the benefits of GPS are as widespread as the constellation of satellites that makes the technology work.
Yet, while ubiquitous in many fields, one place where this stellar application of Computer Science is rarely seen is in the Computer Science curriculum itself. It is not mentioned in the ACM curriculum guidelines. In a survey of innumerable CS I and CS II textbooks in current use, it appears not at all.
This is unfortunate, because GPS is an intriguing technology, and provides many opportunities for even beginning CS majors to play and learn. To facilitate this, we have developed a Java-based class that interacts with a very inexpensive GPS receiver about the size of a matchbox.
We would like to outline our implementation of our GPS class, and describe several projects that will get students excited (and out of the classroom).



Design Driven Curriculum: Data, Tests, Programs, Abstractions

Room: 103Date: Oct 20, 2008Time: 13:45 - 14:00
Viera Proulx
Northeastern University

Abstract

The paper highlights the key concepts, tools, and pedagogical techniques used in the teaching introductory programming based computer science course that uses the TeachScheme, ReachJava! curriculum based on the texts How to Design Programs and the (nearly complete) draft of the book How to Design Classes.
The curriculum is supported by the DrScheme programming environment, its Java-like teaching languages (ProfessorJ), and a collection of libraries (teachpacks) targeted at the novice programmer. Additional Java libraries support the transition to a full scale commercial programming language and programming environment.
Initially, the curriculum focuses on designing classes of data, interpreting the information a data instance represents, and representing the given information as data. Methods are added to already understood rich class hierarchies. Code duplication motivates the language features that support abstractions. Systematic test driven design is practiced from the beginning. Transition to a full Java language and the use of Java libraries is seamless.
Instructors in follow-up courses and coop employers report a substantial increase in students' programming skills.



Teaching Object-Oriented Modelling with Alloy

Room: 103Date: Oct 20, 2008Time: 14:00 - 14:15
James Noble
Victoria University of Wellington
David Pearce
Victoria University of Wellington
Lindsay Groves
Victoria University of Wellington

Abstract

Object-orientation is about more than programming, but many degree programmes begin as programming courses, and only later attempt to teach the principles of object-oriented modeling and design. To support our new Software Engineering programme, we developed a new first-year course --- Introduction to Software Modeling --- that introduces the principles and practices of object-oriented modeling, beginning with domain analysis, finding classes and use cases, and then leads on to building models in the Alloy formal modeling language. In this short report we describe our experience with teaching modeling via Alloy to fifty first-year engineering students with minimal backgrounds in programming, logic, or object-orientation.



A Snapshot of Studio Based Learning : Code Reviews as a means of Community Building

Room: 103Date: Oct 20, 2008Time: 14:30 - 15:30
Joseph Bergin
Pace University
Robert Duvall
Duke University
Rick Mercer
University of Arizona
Eugene Wallingford
University of Northern Iowa
David West
College of Santa Fe
Pamela M. Rostal
Perficient, Inc.
Richard P. Gabriel
IBM Research

Abstract

Studio Based Learning is an educational process that has found more success in the humanities than the sciences. In these disciplines most learning is done in the studio, with apprentices and journeymen working at the elbow of a practicing master. When apprentices join a studio, their education progresses from the point of their current knowledge through journeyman status while working on real projects that become part of a lasting portfolio. Student work is subject to constant review by both peers and mentors as a means of providing valuable feedback and to solidify the shared sense of community. The Studio Based Learning presented in this session demonstrates the possibility of using the approach to advance computer science education at the university and begin to establish the community of practice that will improve the profession beyond university walls.

This Collaborative Activity Session will show one aspect of this approach in the context of a real course, by re-casting a typical Code Review as a Studio Review using principles from Writers' Workshops and the Touchstones Discussion Project. Using code provided by Educators' Symposium participants, we will show how a typically uncomfortable activity can be turned into a positive, enriching experience. By making space to discuss student concerns about the code they write, we hope to engage students better and to build mutual respect within the community. After asking participants to experience a constructive small group discussion, we will engage in a larger discussion of how to use these techniques throughout the curriculum.

The idea behind this session is part of a larger vision for how Studio Based Learning might revolutionize undergraduate computer science education. This vision is described in a paper by the same authors, "The Road: Reinventing Education", submitted to the Onward! track for OOPSLA 2008.



Panel/Posters

Room: 103Date: Oct 20, 2008Time: 16:00 - 17:00

Abstract

Attendees who received an Educator scholarship and who did not otherwise contribute to OOPSLA were asked to bring a poster to show their current activities.
Depending on the what happens that day, an ad-hoc panel discussion may also be held at this time!