|
| |
JAVA: An Eventful Approach


The following materials are intended primarily for instructors using
our text in their courses. In particular, to limit access to sensitive
materials (like the solutions manual for the text), many of the links
below will require the user to enter and account id and password. If you
are an instructor using or considering the use of our text, contact us
to request such a password.
Solution Manual for the text
We provide the solutions manual in several forms so that instructors
who would like to provide their students with some but not all of
the solutions have the flexibility to do so. We request, however,
that those who do provide parts or all of our solution manual to their
students take care to ensure that copies will not be distributed more
widely. The best way to do this would be to distribute printed copies
of the manual to your students rather than making the pdf files available
on the web. If you do make pdf files available, at least make sure that
access to these files is restricted to users attached to your school's
network.
Sample Laboratory Exercises
We have assembled a collection of about 20
programming exercises
that can be used
for laboratory assignments when teaching using our text. We expect to add a
few more of our own exercises over time, and we would be happy to add
any contributions other instructors would like to make to this collection.
Access to the solutions to these exercises is limited to
those with an instructor's password for our site.
Lecture Slides
We have developed a set of
Powerpoint slides
designed to be used in conjunction
with our text.
A Guide for Instructors
Discussion Group
We maintain a
discussion group
for instructors using our text. You may use this group to post suggestions
or ask questions about our materials. In additions, by selecting the
"Edit Profile" link on any of the discussion group web pages, you can
change your account password and enable or disable email notification of
items posted to the group.
Sample Syllabi
Instructors may find it useful to visit one of the following pages which provide
examples of complete syllabi that have been used when teaching with our text.
As a start, we have included links to our own courses, but we encourage
other instructors who would like to share their material to send us
links to their course web sites so that we can add them to the list below.
Course Syllabi Used at the Authors' Institutions
Additional Examples of Syllabi for Courses Using Java: An Eventful Approach
Papers
We have written four papers on our approach to the introductory CS
course. All are available on-line.
-
A library to support a graphics based object-first approach to CS 1
by Kim B. Bruce, Andrea Danyluk, and Thomas Murtagh.
SIGCSE 2001 Proceedings, pp. 6-10.
SIGCSE2001Lib.dvi.gz,
SIGCSE2001Lib.ps.gz,
SIGCSE2001Lib.pdf,
ABSTRACT
In this paper we describe a library we have developed that
supports an ``OO-from-the-beginning'' approach to CS 1. The design of
interactive graphical programs helps students to both use objects and
write methods early while designing and implementing interesting
programs. The use of real graphics ``objects'' and event-driven
programming are important components of this approach.
Event-driven programming can be simple enough for CS 1
by Kim B. Bruce, Andrea Danyluk, and Thomas Murtagh.
ITiCSE 2001 proceedings, pp. 1-4.
eventsREZ.pdf
ABSTRACT
We have recently designed a CS 1 course that integrates event-driven
programming from the very start. Our experience teaching this course
runs counter to the prevailing sense that these techniques would add
complexity to the content of CS 1. Instead, we found that they were
simple to present and that they also simplified the presentation of
other material in the course. In this paper, we explain the approach
we used to introduce event-driven methods and discuss the factors
underlying our success.
Event-driven programming facilitates learning standard programming concepts
by Kim B. Bruce, Andrea Danyluk, and Thomas Murtagh.
OOPSLA Educator's Symposium, 2004.
Last revised 8/3/2004.
event2.pdf
ABSTRACT
We have designed a CS 1 course that integrates event-driven
programming from the very start. In earlier papers we argued that
event-driven programming is simple enough for CS 1 when introduced
with the aid of a library that we have developed. In this paper we
argue that early use of event-driven programming makes many of the
standard topics of CS 1 much easier for students to learn by breaking
them into smaller, more understandable concepts.
Why Structural Recursion Should Be Taught Before Arrays in CS 1
by Kim B. Bruce, Andrea Danyluk, and Thomas Murtagh.
SIGCSE 2005.
Last revised 11/30/2004.
An earlier version was presented at the
Eighth Workshop on Pedagogies and Tools for the Teaching and Learning of
Object Oriented Concepts at ECOOP 2004.
p266-bruce.pdf
ABSTRACT
The approach to teaching recursion in introductory programming
courses has changed little during the transition
from procedural to object-oriented languages. It is still common
to present recursion late in the course and to focus on
traditional, procedural examples such as calculating factorials
or solving the Towers of Hanoi puzzle. In this paper,
we propose that the shift to object-oriented programming
techniques calls for a significant shift in our approach to
teaching recursion. First, we argue that in the context of
object-oriented programming students should be introduced
to examples of simple recursive structures such as linked lists
and methods that process them, before being introduced to
traditional procedural examples. Second, we believe that
this material should be presented before students are introduced
to structures such as arrays. In our experience,
the early presentation of recursive structures provides the
opportunity to reinforce the fundamentals of defining and
using classes and better prepares students to appreciate the
reasons to use classes to encapsulate access to other data
structures when they are presented.
|