OOPSLA '04

Program
Technical Program
  Invited Speakers
  Technical Papers
  Onward!
  Panels
  Practitioner Reports
  Tutorials
Workshops
DesignFest
Educators' Symposium
Demonstrations
Posters
Doctoral Symposium
Exhibits
Student Research Comp.
FlashBoF
 
Turing Lecture
 
Social Events
 
Week at a Glance
 
Final Program (1.5M .pdf)

Find in Program
 

Page
Printer-friendly

Basket
view, help

"Teaching Java: An Eventful Approach"
Object-Oriented Programming, Systems, Languages and Applications
Home    Program    Housing & Transportation    Registration    Submissions    Wiki    Maps
 
  > Technical Program > Tutorials > All Tutorials

 : Wednesday Afternoon Tutorials (1:30 - 17:00) : Languages and Development : Wednesday

Teaching Java: An Eventful Approach

Meeting Room 9
Wednesday, 13:30, half day
 


 
7·8·9·10·11·12·13·14·15·16·17·18·19·20·21

Kim Bruce, Williams College:  Kim B. Bruce is Frederick Latimer Wells Professor of Computer Science at Williams College, where he has been teaching Computer Science since 1977. He is co-author of the forthcoming introductory text, Java: An Eventful Approach. Bruce has contributed to the Liberal Arts Computer Science Consortium (LACS) curricula in 1986, 1996, and 2004, as well as Curricula '91 and 2001. He is the author of Foundations of Object-Oriented Languages: Types and Semantics, published by MIT Press. He also co-chaired the Workshops on Pedagogies and Tools for Assimilating Object-Oriented Concepts for several years.

Tutorial number: 48

As many have learned, teaching a CS1 course in Java requires an entirely new approach. Because it is an object-oriented language, it is difficult to teach in the style used for imperative languages like Pascal, C, and C++. Many have proposed teaching Java in an objects-first way, but others have complained that too many concepts must be introduced before students can understand the construction of classes and objects. The objective of this workshop is to introduce an approach to teaching Java that we have developed that overcomes these problems.

In this tutorial we describe an objects-first approach to teaching Java that introduces event-driven programming in the very first programming examples, introduces concurrent threads early, and uses graphics and animation extensively.? We show how these seemingly advanced topics can be presented so that they are easy for introductory course students to grasp.? We also show how our approach exposes students to object-oriented programming techniques more thoroughly than is possible in more traditional approaches.? Our approach is supported by materials developed with NSF funding including extensive course notes, laboratory exercises, the Objectdraw library, and a textbook to be published by Prentice-Hall in 2004.

Intermediate: Knowledge of basic Java programming. Experience teaching an introductory programming course is helpful, but not necessary.