Program (2mb PDF)

  Invited Speakers
  Research Papers
  Student Research Comp.
  Doctoral Symposium
  Educators' Symposium
  Wiki Symposium
  Dynamic Lang. Symp.
  Practitioner Reports
  Lightning Talks
  Instant Arts School Exp.
Other Events
Resort Map (364kb PDF)
Resort Map (JPG)



view, help

"Teaching Java: An Eventful Approach"




  > Tutorials > All Tutorials

 : Sunday Afternoon Tutorials (13:30 - 17:00) : Languages and Paradigms : Sunday

Teaching Java: An Eventful Approach

Pacific Salon 4
Sunday, 13:30, half day



Kim Bruce, Pomona College

Tutorial number: 11

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 published by Prentice-Hall in the summer of 2005.

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

Kim Bruce, Pomona College:  Kim Bruce is Professor of Computer Science at Pomona College. He has taught at Princeton University and Williams College, and has been a visiting professor or scientist at M.I.T., Stanford, Ecole Normale Superieure, University of Pisa, the Newton Institute at Cambridge University, and UC Santa Cruz. He has presented papers at SIGCSE, ECOOP, OOPSLA, OOPSLA Educators' Symposium, and POPL, and is the author of Foundations of Object-Oriented Languages: Types and Semantics, published by MIT Press, and Java: An eventful approach, published by Prentice Hall. He received the SIGCSE 2005 award for outstanding contributions to Computer Science Education.