Technical Symposium on Computer Science Education

SIGSCE 2008
March 12-15, 2008 • Portland, Oregon, USA

Workshops

Wednesday   7:00 PM - 10:00 PM (room: Convention Center: As Assigned)


Workshop #1: Erlang Programming on Multi-Core Computers room: A105
Ariel  Ortiz,   Tecnologico de Monterrey, Campus Estado de Mexico
Many new personal computers come equipped with a multi-core processor (a chip with more than one processing unit). The problem is, unless a program is designed for parallel execution, it will only use one of these cores at a time. This workshop will introduce Erlang, an open source functional language that allows building highly parallel, distributed, fault-tolerant systems. It's aimed at instructors who are searching for a simpler way to teach parallel programming. Common concurrency-related problems in mainstream languages, such as race conditions and deadlocks, are minimized or eliminated when using Erlang. Further information about this workshop is at: http://www.arielortiz.com/erlang.

Laptop Required

Workshop #2: Offering a Rigorous Web Course room: A106
Jeffrey  Jackson,   Duquesne University
If you haven't yet decided to offer a Web course, are planning to teach one for the first time, or just want another perspective on teaching your existing Web course, this workshop is for you. We'll explore how a rigorous Web course can reinforce and extend concepts found elsewhere in your CS program while also preparing your students to intelligently develop Web-related software in their careers. Focused examples will illustrate Web technologies from early (HTTP) through recent (Ajax) to help you develop your own coherent, standards-based, course that comprehensively—and with some depth—covers foundational Web topics.

Laptop Recommended

Workshop #3: Multimedia Projects in Python for Introductory CS Courses room: A107-109
Pamela  Cutter,   Kalamazoo College
Alyce  Brady,   Kalamazoo College
Construction and manipulation of images and sounds is a motivating context for majors and non-majors in introductory computing classes. The algorithms to create interesting multimedia effects provide concrete and interesting results, and easily fit within the constraints of introductory courses’ curricula. The visual and audible feedback provides students an immediate measure of their success, as well as a “cool” factor. This workshop will introduce a series of multimedia examples and assignments that are appropriate for beginning students, using the Python language.

Laptop Recommended

Workshop #4: Teaching and Building Humanitarian Open Source Software room: B110
Ralph  Morelli,   Trinity College
Norman  Danner,   Wesleyan University
Janardhan  Iyengar,   Connecticut College
Trishan  De Lanerolle,   Trinity College
Heidi  Ellis,   Trinity College
This hands-on workshop will introduce participants to the world of free and open source software (FOSS) development and how to incorporate FOSS into undergraduate computing curricula. We will focus on existing humanitarian FOSS projects that the presenters are involved with. Participants will learn how FOSS projects are organized and how to set up a small scale project at their own schools. Introduction will be provided to FOSS development tools, including Eclipse, Subversion, MediaWIKI, and Trac. Participants will install a development environment on their laptops and build a simple module for an existing humanitarian FOSS project. See http://www.hfoss.org for further details.

Laptop Required

Workshop #5: An Introduction to the WEKA Data Mining System room: B111
Zdravko  Markov,   Central Connecticut State University
Ingrid  Russell,   University of Hartford
This workshop presents Weka, an open source Data Mining software package written in Java and available from http://www.cs.waikato.ac.nz/~ml/weka/index.html. The goal of the workshop is to introduce faculty to the package and to the pedagogical possibilities for its use in the undergraduate computer science and engineering curricula. The Weka system provides a rich set of powerful Machine Learning algorithms for Data Mining tasks, some not found in commercial data mining systems. These include basic statistics and visualization tools, as well as tools for pre-processing, classification, and clustering, all available through an easy to use graphical user interface.

Laptop Recommended

Workshop #6: Teaching Assistive Technology to CS Majors from an HCI Perspective room: B112
Blaise  Liffick,   Millersville University
This workshop introduces teaching assistive technology (AT) for the disabled as an advanced elective course for computer science majors. It shows how AT can be used to illustrate many CS and HCI concepts and principles. Topics in this course include the universal design principle; user-centered design; interfacing specialized hardware devices; the development of interaction methods such as voice recognition, scanning techniques, word expansion and prediction; alternative languages; web accessibility design issues; and usability testing as a means of user/device evaluation and product acceptance. A model course syllabus and a model laboratory to support student lab work will be discussed, and example AT products and student projects will be demonstrated.

Laptop Optional

Workshop #7: Secure Programming: Buffer Overflows and Other Common Mistakes room: B116
James  Walden,   Northern Kentucky University
Frank  Charles,   Northern Kentucky University
Despite the discovery of thousands of software vulnerabilities each year, few computer science programs teach secure programming techniques. This hands-on workshop introduces participants to common programming mistakes that create security vulnerabilities, including buffer overflows, integer overflows, and command injection, and teaches the secure programming techniques needed to fix these common problems. Examples of vulnerabilities from programming textbooks and production software will be shown in C, C++, and Java. Participants will learn to detect and repair common security vulnerabilities through a series of three programming exercises, which are designed so that participants can reuse them in their own classes.

Laptop Required

Workshop #8: Computer Vision and Image Processing: Accessible Resources for Robotics and CS Curricula room: B117-118
Zachary  Dodds,   Harvey Mudd College
Doug  Blank,   Bryn Mawr College
Robert  Avanzato,   Penn State Abington
Dave  Touretzky,   Carnegie Mellon University
Lisa  Meeden,   Swarthmore College
This workshop presents resources for making image processing, vision, and/or robotics part of your CS curriculum at several levels: using IPRE's Myro, atop existing media-themed approaches to early CS (for CS 0/1/2); with vision-enabled Create, PowerWheels, and TeRK platforms (for robot-themed courses); and via traditional and emerging software resources, e.g., Matlab, OpenCV, Tekkotsu (for other electives). Instructors at all experience levels—including none—are welcome. In the workshop's second half participants will be able to explore those resources that best fit their interests.

Laptop Recommended

Workshop #9: Using the FANG Engine to Teach CS1 room: C122
Jam  Jenkins,   Georgia Gwinnett College
Robert  Duvall,   Duke University
Joseph  Farfel,   Duke University
The Freely Available Networked Gaming (FANG) Engine is an open source game engine written in Java and designed with an API suitable for novice programmers. This workshop gives an overview of the courses and settings in which the FANG Engine has been used, and it includes hands-on experience completing several assignments that have been used in the classroom. Workshop participants will create their own multiplayer networked applet with motion, panning audio, images, and basic collision detection. For collaboration before and after the workshop, all materials are posted on a workshop Wiki linked from www.fangengine.org.

Laptop Required

Workshop #10: Active Learning in Introductory Programming Courses room: B113
Keith  Whittington,   Rochester Institute of Technology
This session will demonstrate how to actively engage students in introductory programming courses. Successful adaptation of active learning requires more than handing out materials and telling the students to talk. Attendees will participate in a variety of activities to demonstrate how to effectively conduct activities, manage students, and synthesize active learning with lectures. A wide-range of discipline specific activities will be used, including CATs, think/pair/share, cooperative learning, and role playing. The goal is to allow participants to immediately incorporate and create active learning activities for their students. The NSF funded this work based on increased student satisfaction and academic success.

Laptop Optional

Workshop #11: Student Outcomes Assessment: What Is It? How Do You Make It Work For You? room: B115
Deborah  Whitfield,   Slippery Rock University
Caroline  St. Clair,   North Central College
William  Marion,   Valparaiso University
Frances  Baile,   Iona College
Outcomes-based assessment is a process all computer science programs must address, whether they are seeking (re)accreditation by ABET/CAC or through a regional accrediting body. In this workshop the entire assessment cycle—developing goals (program outcomes) and measurable student learning objectives, choosing methods to measure the objectives, developing rubrics and benchmarks, analyzing the data, synthesizing the results, and deciding what to do with them (feedback loop)—will be presented. Participants, working in groups, will get practice in developing selected aspects of an assessment plan. The emphasis will be on practical suggestions and the message will be: Keep it simple and manageable.

Laptop Optional

Workshop #12: Introducing and Teaching Mobile Application Development room: B119
Qusay  Mahmoud,   University of Guelph
Mobile application development is challenging because applications are developed on one platform (like MS Windows) and deployed on a totally different platform like a cell phone or a BlackBerry device. Integrating mobile devices into computer programming courses can raise the level of excitement and satisfaction among students; see http://www.uoguelph.ca/~qmahmoud/javame. This workshop will help participants understand the different technologies that can be used to develop applications for mobile devices, with a particular focus on using the Java platform, Micro Edition (Java ME). This workshop will be of particular interest to faculty interested in integrating mobile devices into their programming courses.

Laptop Optional