Workshop Program SIGCSE 2001
The SIGCSE Workshop Program is a crucial component of the annual
symposium. Workshops serve to share and disseminate new and emerging
methodologies and ideas to others in the community. Each year, more
than half the attendees to the symposium participate in one or more
workshops.
Participation in one the twenty-six workshops requires a fee that is
in addition to the conference registration fee. All workshops will
take place at the Charlotte Convention Center, except for those
including a hands-on laboratory component. These hands-on workshops
will be held in downtown business buildings located within walking
distance of the Convention Center.
Pre-registration is strongly recommended. Assignment of attendees to
workshops will be on a first-come, first-serve basis. If we are not
able to place you in your preferred workshop, you will be contacted
and given an opportunity to register for a different workshop.
Workshop registration can also take place on site.
Wednesday, February 21, 2001
7:00pm to 10:00pm
#1 Teaching OOP in Java with an Artificial-Life Framework
Richard E. Pattis, Carnegie Mellon University
This workshop is full.
In this workshop, I will introduce participants to a "top-down" method
of teaching Oop in Java using an Artificial-Life (A-Life)
Framework/API. First, we will run various simulations and overview
the major classes in this framework (in UML). Then, we will dissect
several simulations while reading class documentation (in JavaDoc).
Finally, we will apply this knowledge by designing and implementing a
few small A-Life simulations in Java - mostly by extending classes via
inheritance and implementing class interfaces. This framework
approach was developed to allow a quick introduction to the most
important OOP concepts and Java programming features. It emphasizes
writing many small classes (controlled by the framework), requiring
minimal control/data structures, buy allowing for the construction of
algorithmically and graphically interesting simulations.
#2 Mathematical Modeling, Conceptualization, and Visualization using
Spreadsheets
Deane Arganbright, University of Tennessee-Martin
Spreadsheets provide an excellent means for using computers to
implement mathematical algorithms, to stimulate creative approaches
for teaching mathematical and modeling concepts, and to visualize
mathematics through animated graphics. New, innovative approaches for
using spreadsheets effectively for these purposes in diverse areas of
the mathematical sciences, including linear algebra, operations
research, numerical analysis, statistics, and computer science are
shown using Microsoft Excel.
#3 CS Team Building Through Cooperative Learning
Dorothy Deremer, Montclair State University
Cooperative learning, developed by the Johnson's and colleagues at the
University of Minnesota in the l960s, is a teaching and learning
paradigm in which small groups of students work together to achieve
faculty defined team building and academic goads. The workshop
defines and implements cooperative leaning with examples in computer
science.
#4 Understanding Database Connectivity Options of Visual Basic
William R. Adams, University of New Haven
Allana R. Adams, Sacred Heart University
Visual basic is an excellent tool for providing a visual front-end
interface to new or legacy databases. The VB environment offers a
myriad of connectivity options. This workshop is intended to clarify
and evaluate the connectivity methods described by the confusing
acronyms DAO, RDO, ODBC, ADO and OLE DB. Each method of connectivity
will be discussed in detail for several db engines and a demonstration
and complete code will be provided for the format of the various SQL
commands: insert, update, delete and select. Participants should have
some experience programming in the VB environment.
#5 Web Based Instruction Management Tools
Jacobo Carrasquel, Carnegie Mellon University
Wanda Dann, Ithaca College
This workshop is intended for educators who manage courses with large
enrollments (e.g., CS1 & CS2) and wold like to make effective use of
web based instruction management tools. The tools can be used for
on-site or distance learning courses. Participants should be familiar
with HTML, MS Excel, and basic design of web pages.
#6 An Introduction of XML
Aaron Gordon, Metropolitan State College of Denver
This workshop is full.
XML, which stands for eXtensible Markup Language, defines a method for
marking up text which separates content from presentation. This
workshop will: 1) introduce XML, 2) show how DTDs are used to define
the structure of an XML document, 3) show how XSL can be used to
define the presentation of XML document, 4) show how XSLT can be used
to transform and XML document (to another form such as HTML), and 5)
describe how XML data can be parsed and used in other programs.
Friday, February 23, 2001
7:00pm to 10:00pm
#7 Using the AP Marine Biology Case Study to Teach CS1 and CS2
Alyce Brady, Kalamazoo College
Joseph Kmoch, Washington High School
Kathleen Larson, Kingston High School
Christopher H. Nevison, Colgate University
The Marine Biology Case Study provides an excellent vehicle for
introducing and exploring a number of CS1/2 concepts. Class design,
object orientation, using class interfaces and simulation techniques
are interwoven with traditional topics. Presenters will demonstrate
how they are using the case study in their courses. Participants will
take home teaching strategies, lesson plans and assignments that can
be used immediately in their courses.
#8 Toy Are Us: Improving Instruction with Toys in the Computer Science
Classroom
Paolo Bucci, Ph.D, The Ohio State University
Joe Hollingsworth, Ph.D, Indiana University Southeast
Tim Long, Ph.D, The Ohio State University
This workshop is full.
We have found the use of physical manipulatives, such as children's
stacking cups and Lego blocks, to be amazingly effective at helping
students learn algorithms, data structures, math concepts, etc. Armed
with manipulatives when we come to class, we have seen instruction
time decrease, and performance on take-home labs improve. The goal of
this workshop is to teach computing educators how to incorporate
manipulatives into their curriculum so that their students can benefit
from this hands-on method of learning.
#9 Teaching Computer Ethics Scenarios Across the Computer Science
Curriculum
Florence Appel, Saint Xavier University
Frances Grodzinsky, Sacred Heart University
Gloria Childress Townsend, DePauw University
All traditional computer science courses present opportunities for
educators to raise issues of ethical and social concern, but most
computer scientists have no formal training or experience in
presenting this critical aspect of computer science. This workshop
will provide participants with a variety of computer ethics scenarios,
and enable them to practice using interactive teaching methodologies
and tools of ethical analysis.
#10 Ultra Fast Interactivity on the Web Using Macromedia Flash
Sandra Honda Adams, Sacred Heart University
Robert McCloud, Sacred Heart University
This workshop is full.
This hands-on workshop using Macromedia's Flash, one of the most
widely used vector technologies for the Web, will enable the
participants to create attractive resizable, and extremely small and
compact vector artwork and navigational interfaces, technical
illustrations, long form animations, and other interesting effects for
their Web sites. See how Flash vector technologies help to overcome
our bandwidth problem.
#11 Interpreter Based Assignments for a Standard Programming Languages
Course
John Barr, Ithaca College
Laurie Smith King, College of the Holy Cross
Ben Coleman, The College of William and Mary
This workshop will demonstrate how to use MuLE (Multiple Language
Environment) based projects in a programming languages design and
implementation course. MuLE is a software tool (consisting primarily
of four languages from different paradigms) developed to support
combining the comparative and interpretive approaches to teaching the
programming languages course. MuLE projects vary from small labs to
programming a component within a larger existing program to
programming in the large.
#12 Understanding and Developing Assessment Materials for CSAB Criteria 2K
Janet Hartman, Illinois State University
Doris K. Lidtke, Towson University
Allen Parrish, The University of Alabama
Larry Jones, Carnegie Mellon University
Ken Martin, University of North Florida
This workshop is full.
The program assessment criteria in CSAB Criteria are vastly different
from the 1996 criteria. This workshop is intended to help
participants prepare for the evaluation of program assessment at their
institutions. Topics will include: overview of the Criteria 2000
criteria for assessment, differences from the 1996 criteria,
strategies for the development of computer science program objectives,
sources of data for measuring program objectives, presentation of data
that document program objective have been met, shared experiences of
evaluators who have made Criteria 2000 accreditation visits, and
initial trends observed in visits to schools visited under Criteria
2000.
Saturday, February 24, 2001
1:30pm to 4:30pm and 6:00pm to 9:00pm
#13 Teaching Introductory Object-Oriented Programming with Java - Dangers,
Traps and a Road Map (FULL DAY)
Michael E. Caspersen, University of Aarhus, Denmark
Michael Kolling, Monash University, Australia
John Rosenberg, Monash University, Australia
This workshop is full.
Object-oriented languages have been taught for some time at
universities. The most common approach has been to teach those
constructs required for imperative programming first and to introduce
the notion of classes and objects somewhat later in the course. More
recently, many educators have been promoting the notion of teaching
about classes and objects first. This helps students to adopt the
object-oriented paradigm at an early stage and encourages them to
focus on the application structure before beginning coding. Most new
textbooks have followed such an approach. This workshop will discuss
many of the problems that teachers face in teaching an introductory
object-oriented programming course with Java, suggest solutions and
provide many examples of teaching techniques, exercises and problems
that may be used in such a course.
Saturday, February 24, 2001
1:30pm to 4:30pm
#14 Introduction to Java for High School Teachers
Richard Kick, Hinsdale Central High School
This workshop is full, but there is a second offering,
see Workshop #27
The purpose of this workshop is to provide Advanced Placement Computer
Science teachers with an opportunity to acquire and use programming
tools that allow them to teach computer science using the Java
programming language. It is my intent to provide examples on how the
Java language can be used to enhance high school computer science
programs by allowing students to create Java program prior to entering
an advanced placement course. We will also explore how Java can be
used to teach concepts that are currently part of the Advanced
Placement curriculum, as well as topics that may appear in future
versions of the syllabus.
#15 Remote Method Invocation in Java
Barry Burd, Drew University
The core Java specification provides for code running on one computer.
But distributed computing requires that code running on one computer
call code running on another. Sun's RMI tools provide standard ways
for one Java Virtual Machine to invoke a method running on another
Java Virtual Machine. This raises important issues concerning
multi-threaded applications, networked connections, the handling of
exceptions, and object encapsulation.
#16 Developing and Troubleshooting Active and Cooperative Learning
Exercises
Jeffrey J. McConnell, Canisius College
This workshop involves attendees in the development and
troubleshooting of active and cooperative learning exercises.
Participants will be asked to bring and share exercises that have been
successful as well as those that have been less than successful.
#17 The Computer Graphics Programming Course
Steve Cunningham, California State University Stanisluas
This workshop will introduce attendees to some developments in the
beginning computer graphics course that have been made possible by
recent progress in graphics systems and hardware. It will also
describe an approach to this course that includes a focus on graphics
programming, on modeling based on scene graphs, on interactive and
animated programs, and on science-based projects and visual
communication.
#18 Intellectual Property Law Basics for Computer Science Instructors
David G. Kay, University of California
An introduction to the basics of intellectual property law (patents,
copyrights, trade secrets, trademarks) designed to give computer
science instructors a framework for answering student questions,
debunking misconceptions, and understanding how the law and computing
interact.
Saturday, February 24, 2001
6:00pm to 9:00pm
#19 The Life and Times of a Mouse Click
Timothy Fossum, University of Wisconsin - Parkside
Stuart Hansen, University of Wisconsin - Parkside
Event driven programming is emerging as a dominate software paradigm.
In this workshop we introduce a comprehensive model for events. We
apply this model to the processing of a mouse click, from its
inception at the hardware interrupt level, software layers, ending at
application code. At each layer, we will illuminate event handling by
example and participant coding.
#20 JBoxes: A Visible Java-Like Pedagogic Programming Environment
Judy Gurka, Metropolitan State College of Denver
Jerry Shultz, Metropolitan State College of Denver
Jboxes is a programming environment specifically built for teaching
beginning programming. Within one integrated paradigm, it allows
creation and execution of programs in a language with semantics very
similar to a subset of Java that is appropriate for beginners.
Participants will learn how to use this software, will use it to
create some programs, and will discuss how to effectively use it in
teaching.
#21 Java Servlets: A QuickStart for CS Educators
Kathryn F. Gates, PhD, University of Mississippi
Dawn E. Wilkins, PhD, University of Mississippi
This workshop is designed to give CS educators, who have a working
knowledge of Java, a good introduction to Java servlets. The servlet
architecture and life cycle will be explained, and examples will be
provided to demonstrate the use of the Java Servlet API. Advanced
features including accessing databases through a servlet and session
tracking will be covered. Setting up Java servlet development
environment for student will also be addressed.
Sunday, February 25, 2001
8:00am to 11:00am
#22 JavaServer Pages
Barry Burd, Drew University
Using JavaServer Pages, you combine program logic and HTML tags to
create a dynamic Web pages. You can respond to HTML forms, access
databases and create content on the fly. With Java's most elementary
features, you can create useful Web pages. Your students can test
their code without being attached to a network. They can install
free, lightweight server software on stand-alone computers.
#23 Integrating the Web-Based Course Management System "Blackboard
CourseInfo" in Computer Science Courses
Jennifer A. Polack Wahl, Mary Washington College
This workshop will introduce a Web-Based Course Management system,
Blackboard CourseInfo. This tool provides an easy method for getting
course information online as well as extending an instructor's ability
to communicate and interact with students outside of the classroom.
The workshop will allow user to organize courses by creating course
information in one central location. The presenter will demonstrate
two operational courses. The workshop will feature a hands-on
component to allow participation by the audience. Participants will
create online quizzes, discussion groups, and group information
centers. The presenter will demonstrate how the on-line gradebook
secures privacy and allows the instructor to easily export and compute
final grades.
#24 An Applied Introduction of UML
Matthew Merzbacher, Mills College
This workshop will present the key structures found in the Unified
Modeling Language (UML), the standard graphical notation for
object-oriented representation of software systems. The easiest way
to teach UML is by building a running example and adding features
one-by-one. The workshop will conclude with a demonstration of how to
convert a UML model into a Java/C++ program or SQL schema.
#25 Teaching JDBC Application Programming with Oracle
Ming Wang, Ph.D., Embry-Riddle Aeronautical University
The workshop will introduce the author's experience teaching JDBC
database application programming with templates. The author created
them in summer of 1999 and has been successfully using them for three
semesters. The templates are each individual complete database
programming examples. Based on the templates, students were able to
finish their programming assignments and accomplish database
application projects. The workshop will illustrate, explain and run
the JDBC programming with Oracle 8I server. JDBC connectivity and
PL/SQL will be also included.
#26 Computer Networks Basics: What Every Professor Should Know
Curt M. White, DePaul University
Few people today would argue that the topic area of computer networks
is not expanding at a phenomenal rate. It is also safe to assume that
the importance of introducing computer networks at the undergraduate
level is very high. It is our responsibility as computer science
educators to prepare our students for this rapidly emerging field of
study. To offer this education, we must also be knowledgeable in this
area. There exist a number of reasons why computer science and
information systems faculty should be computer network savvy: We may
have to teach a computer networks course. While we may not be the
individual teaching the computer networks course, we may be called
upon to introduce these network terminology in other courses.
Students will ask us questions which either directly or indirectly
relate to computer networks. We use computer networks every day. Why
not have a basic understanding of what is going on.
#27 Introduction to Java for High School Teachers
Richard Kick, Hinsdale Central High School
The purpose of this workshop is to provide Advanced Placement Computer
Science teachers with an opportunity to acquire and use programming
tools that allow them to teach computer science using the Java
programming language. It is my intent to provide examples on how the
Java language can be used to enhance high school computer science
programs by allowing students to create Java program prior to entering
an advanced placement course. We will also explore how Java can be
used to teach concepts that are currently part of the Advanced
Placement curriculum, as well as topics that may appear in future
versions of the syllabus.