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 |
||
