SIGCSE 2007 Workshops

The following workshops are available to attendees at a nominal fee.

For workshops listed as Laptop Required participants are expected to bring their own laptops to the workshop to complete the hands-on activities. Workshops designated as Laptop Encouraged do not require that participants bring a laptop.

Friday, March 9  7:00 PM - 10:00 PM

11 Software Security Meeting Rm 1

James Walden, Northern Kentucky University
Charles E. Frank, Northern Kentucky University
Rose Shumba, Indiana University of Pennsylvania

Software security aims to produce software that functions correctly even when attacked. Unlike reactive network security techniques like firewalls that work around security flaws, software security focuses on getting software right. This workshop will teach participants how to think about security across the entire software development lifecycle. Participants will learn about software security practices like abuse cases, risk analysis, code reviews with static analysis tools, and penetration testing in a process agnostic manner. The workshop will include hands-on risk analysis and code review exercises using a demonstration blogging application written in Java that participants can use in their own courses.
Laptop Required

12 Using the Java Task Force Packages Meeting Rm 5

Eric Roberts, Stanford University
Robb Cutler, The Harker School
Scott Grissom, Grand Valley State University

The ACM Java Task Force (JTF) was created in 2004 and charged with developing resources to simplify the use of Java in introductory courses. The Task Force released Version 1.0 of its materials in August 2006, which are freely downloadable from This workshop is designed to give instructors hands-on experience using the JTF packages so that they are prepared to adopt it in their introductory-level courses. The workshop will follow the structure of the online JTF tutorial and will focus on creating dynamic, interactive programs using the and acm.gui packages.
Laptop Required

13 Travels in "DNA Land" - Approaching DNA Sequence Analysis Through Word Play Meeting Rm 3

Mark D. LeBlanc, Computer Science, Wheaton College (Norton, MA)
Betsey D. Dyer, Biology, Wheaton College (Norton, MA)

n a series of team-taught mini-lectures followed by hands-on activities, participants will learn how to introduce, motivate, and explain DNA sequence analysis by engaging in "word play" using regular expressions on English texts and then DNA sequence. Faculty wishing to experience an introductory but focused look at DNA sequence analysis and its place as a rich source of applications are especially encouraged to attend. Participants will take away a series of classroom-tested specifications and consider strategies for starting interdisciplinary collaborations. No prior knowledge of Perl is required. Participants will bring their own laptops pre-loaded with workshop materials.
Laptop Required

14 Teaching Object-Oriented Programming in Python Meeting Rm 4

Michael H. Goldwasser, Saint Louis University
David Letscher, Saint Louis University

Python's use in education has grown rapidly, due to its elegantly simple syntax. Though often viewed as a "scripting language," Python is a fully object-oriented language with an extremely consistent object model and a rich set of built in classes. In this workshop, we share our experiences using Python in the context of an object-oriented CS1 course. We will begin with an overview of the language, with particular emphasis on the object-orientation. We then present several coherent teaching strategies and a variety of graphical and nongraphical projects. Both new and experienced Python users are welcome.
Laptop Required

15 Peer Led Team Learning in Computer Science Meeting Rm 2

Susan Horwitz, University of Wisconsin-Madison
Steve Huss-Lederman, Beloit College
Barbara Ryder, Rutgers University

We present a new approach to increasing the representation of undergraduate women and minorities in computer science: We use active recruiting to increase enrollment of under-represented groups, and peer-led team learning (PLTL) to improve retention. PLTL involves students working in small groups run by trained undergraduate Peer Leaders, several of whom will participate in this workshop. We will provide hands-on experience with a PLTL group meeting and Peer-Leader training. We will also present our experience using PLTL in introductory courses as part of a collaborative NSF project (NSF-0420436), including the benefits of PLTL and the resources needed to start a PLTL program.

16 Teaching objects first in an enlightening, exciting manner Meeting Rm 6

David Gries, Computer Science, Cornell University

We discuss teaching programming to beginners, using Java. Objects, classes, and subclasses are taught before conditionals, loops, and arrays. Several points combine to makes this not only viable but exciting and pedagogically sound: (1) a certain model for classes/objects; (2) a Java IDE that allows frequent live demos and postponement of method main to week 10; (3) programming assignments that include playing music, drawing bouncing balls and spirals, and manipulating jpeg files; (4) serious attention to testing using JUnit, (5) real discussions of program development, and (6) closed labs. Gries has taught the course for years. Software and other course materials will be provided on a CD.
Laptop Required

17 A Hands-on Exploration of Educational Robotics Ballroom D

Zachary Dodds, Harvey Mudd College
Douglas Blank, Bryn Mawr College

The past year has seen a remarkable surge in the robotics-based resources available to CS educators, e.g., Lego's release of its NXT platform. The Institute for Personal Robotics in Education began its development of new hardware, software, and curricular materials for teaching CS 1 and CS 2 using robots. Further, iRobot published a serial API for its line of Roomba vacuums. In this workshop a pair of presentations will frame these developments in terms of their core- and elective-CS applications. Two-thirds of the time will consist of guided experimentation with these new robot platforms and software.
Laptop Encouraged

18 Ruby on Rails Meeting Rm 8

Barry Burd, Drew University

Ruby is an interpreted, reflective, purely object-oriented programming language. Unlike Java, the Ruby language has open classes, messages rather than method calls, closures, and "duck" typing. So Ruby broadens a student's understanding of the object- oriented paradigm. In addition, Ruby has an add-on named Rails. With Rails you can create a simple Web application (a Web interface to a database) in minutes. You can enhance the application with other add-ons -- add-ons for searching, for authentication, and even for credit-card processing. Some real-world practitioners claim a five- to ten-fold productivity increase when they switch from Java to Ruby on Rails. No previous knowledge of Ruby (or of Rails) is required for participation in this workshop.
Laptop Required

19 Computer Security Essentials (Part 2): Intrusion Detection and System Defense Meeting Rm 9

Paul J. Wagner, University of Wisconsin - Eau Claire
Daren Bauer, University of Wisconsin - Eau Claire
Thomas Paine, University of Wisconsin - Eau Claire
Andrew Phillips, University of Wisconsin - Eau Claire
Jason Wudi, University of Wisconsin - Eau Claire

This is the second of two workshops for CS educators developing curricula in computer security. Participation in workshop part one is recommended as a prerequisite. We provide guided hands-on instruction and experimentation on both defensive techniques and the understanding of exploits for the purpose of better defending systems. The session concludes with a hands-on exercise giving the participants an opportunity to participate in a carefully constructed and monitored cyberwar scenario; i.e. the participants will harden their systems, identify potential exploits and threats, and work to understand the mindset of the attacker by identifying weaknesses in all systems on the network.
Laptops Provided by Presenter

20 Teaching with Alice and Media Computation Ballroom B

Stephen Cooper, Saint Joseph's University
Wanda Dann, Ithaca College
Barbara Ericson, Georgia Institute of Technology

This workshop is designed for instructors who have or will be teaching a course using Alice and/or Media Computation. Participants will learn strategies for supporting open-ended student projects. Particular attention will be paid on transition issues from Alice to Java. A example CS1 course, combining Alice with the Media Computation approach, will be described. Participants will receive a CD containing the latest version of the Alice software, the Media Computation libraries, sample rubrics for grading open-ended projects, and materials for the Alice and Media Computation course, as well as copies of the Alice and Media Computation texts.
Laptop Encouraged

21 Demystifying and Degeekifying Computing through K-12 Outreach Ballroom A

Katie A. Siek, University of Colorado
Samantha Foley, Indiana University
Jennifer Franko, Indiana University
Emily Fortuna, Rice University
Suzanne Menzel, Indiana University
Laura Hopkins, Indiana University

In this workshop, we share our experiences creating a viable, self-sustaining outreach program that connects with young members of underrepresented groups. Now in its third year, IU's program, Just Be, originally targeted girls in K-12. Today our mission and design embraces all underrepresented groups. Participants will learn how to establish a program, create an interactive presentation, dispel unflattering myths surrounding computing, generate enthusiasm, advertise effectively, develop contacts at schools and clubs, obtain financing and staff support, train new presenters, fine-tune the content, reach sustainability, evaluate your success, and realize an exponential impact by recursively propagating your program to other schools.
Laptop Strongly Encouraged

22 Automatically Grading Programming Assignments with Web-CAT Meeting Rm 10

Stephen H. Edwards, Virginia Tech, Dept. of Computer Science
Manuel A. Pérez-Quiñones, Virginia Tech, Dept. of Computer Science

This workshop introduces participants to using Web-CAT, an open-source automated grading system. Web-CAT is customizable and extensible, allowing it to support a wide variety of programming languages and assessment strategies. Web-CAT is most well-known as the system that "grades students on how well they test their own code," with experimental evidence that it offers greater learning benefits than more traditional output-comparison grading. Participants will practice hands-on how to prepare reference tests, set up assignments, manage multiple sections, and allow graders to manually grade for design. Bring your own Java or C++ assignment (small, with sample solution, and test cases if you have them) to work through. Go home ready to start using it in your own classes!
Laptop Required

23 Active Teaching With Toys, Games, Stories, and Play Ballroom C

Shannon Pollard, Elon University
Robert C. Duvall, Duke University
Judith Hromcik, Arlington High School

This workshop will present techniques for using physical manipulatives, games and prizes, storytelling, and kinesthetic learning activities to teach core Computer Science concepts. The presenters will give many examples of how these techniques are currently used in their classes and facilitate a discussion of their benefits as well as pitfalls. Emphasis will be placed on how to integrate these techniques throughout the curriculum rather than as isolated special events. Participants will then brainstorm new ways to implement these ideas for various topics. All material presented and created will be added to an on-line repository.

24 Teaching Human Aspects of Software Engineering Meeting Rm 7

Orit Hazzan, Technion - Israel Institute of Technology

This workshop addresses the teaching of human - cognitive and social - aspects of software engineering. It is based on the assumption that the people involved in software development processes deserve more attention. Human aspects will be highlighted by activities that aim at analyzing software teamwork from a social and cognitive perspective. Also, a course outline about human aspects of software engineering, including suggestions for specific activities and tasks, will be presented and discussed with the participants. The workshop is dedicated to the late Jim Tomayko, my co-author of Human Aspects of Software Engineering, published by Charles River Media in 2004.

25 Active and Cooperative Learning Techniques for Computer Science Education Ballroom E

Jeffrey J. McConnell, Canisius College

Active and cooperative learning provides a powerful mechanism to enhance depth of learning, increase material retention, and get students involved with the material instead of passively listening to a lecture. This workshop will use introductory active and cooperative learning material in a set of activities to give participants direct experience with and the chance to observe these techniques in action. There will be opportunities for open discussion of situations that participants may have already encountered and for the development of activities for the classroom. The workshop will be illustrated with example exercises from CS1/CS2 and other courses throughout the curriculum.