SIGCSE 2011: Reaching Out
The 42nd ACM Technical Symposium on
Computer Science Education
March 9-12, 2011, Dallas, Texas, USA


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

Workshop 1: Advanced Scratch: Computer Science Through Storytelling and Games room: Lone Star A2
Ursula  Wolz,   The College of New Jersey
John  Maloney,   Massachusetts Institute of Technology
Christopher  Dunne,   Self-employed
A set of Scratch storytelling and game project starters are presented to those with some Scratch experience. Each project demonstrates good media design, intermediate/advanced programming and core computing concepts. Initially developed to integrate Scratch into middle school language arts curriculum, the projects are now used in a CS 0 course, a one semester CS1/CS 2 course, and a course in game design. Computing concepts include modular design via game engine architecture, data management and communication via sprite interaction, and algorithm efficiency via sound production and sprite animation. Laptops are required. Participants will have ample time to extend the project starters and discuss the ramifications for computing curriculum. See /AdvScratch
Workshop 2: Developing An Effective Assessment Program For Student Educational Outcomes room: Lone Star A3
Donald  Sanderson,   East Tennessee State University
New requirements, especially among ABET accredited programs; require measuring the performance of graduates against a set of program level student outcomes. This workshop is aimed at those new to this approach, and focuses on the techniques needed to move from high level student outcome statements to specific methods to collect, aggregate and evaluate the needed data. Participants can choose to use example materials, or bring their own outcomes and related course syllabi. They will leave with the tools needed to create evaluable performance indicators for student outcomes, develop appropriate direct and indirect measures of performance, integrate measurement into existing classroom activities, and aggregate the collected data into useful information. Laptop reccomended.
Workshop 3: Pedagogical Progressions for Teaching Object-Oriented Design room: City View 7
(room change)
Carl  Alphonce,   University at Buffalo, SUNY
Michael  Caspersen,   Aarhus University
Dale  Skrien,   Colby College
This workshop is intended for anyone teaching object-oriented programming who has an interest in developing the pedagogy used to teach students sound object-oriented design. Both beginning and experienced instructors of object-oriented design are welcome. The workshop presenters will sketch lessons learned from eight years’ worth of workshops held at OOPSLA, discuss techniques to effectively engage students in determining good vs. poor design, and provide ample opportunity for workshop participants to develop, present, and discuss OO concepts/design patterns in an interactive segment of the workshop. Laptops are optional.
Workshop 4: Explore, Customize, and Create: Getting Your Hands Dirty with UC Berkeley's Lab-Centric Curricula room: State Room 1
Michael  Clancy,   University of California, Berkeley
Daniel  Garcia,   University of California, Berkeley
Nathaniel  Titterton,   University of California, Berkeley
Colleen  Lewis,   University of California, Berkeley
Andy  Carle,   University of California, Berkeley
At UC Berkeley, we have refined lab-centric instruction, an innovative pedagogical approach that integrates many research-based practices with a variety of hands-on activities (see our article in Computer Science Education, June 2010). We have developed a wide range of curricula using a variety of programming languages (including Scratch, Java, C, and Scheme), used by students ranging from junior high to college. This workshop will first introduce our experiences and approach. Next, we’ll help instructors integrate our customizable curricular modules and relevant technology, such as our customized Moodle, into their classes. We’ll end with a look at our online community site, designed to support instructors as they adopt the lab-centric approach in their classroom. Laptop required.
Workshop 5: Open Source and Freeware Tools for 3D Game Development Courses room: State Room 2
Victor M.  Larios,   University of Guadalajara CUCEA
Kelvin  Sung,   University of Washington Bothell
3D Game development is a complex and labor intensive process that involves the creation, management, and integration of multimedia resources from diverse domains involving drastically different tools. A 3D game development class should touch upon all of these aspects of game development process. This workshop is design specifically for interested faculty members new to the field, where it can be overwhelming to identify the required software tools and to work with the potential overburdening budget. Based on experience teaching 3D game development courses, this workshop will: 1) Introduce a streamlined 3D game production pipeline, 2) Demonstrate simple, free, and compatible tools for each stage of the pipeline and 3) Describe our strategies for managing the resources.
Workshop 6: Web Development with Python and Django room: State Room 3
Ariel  Ortiz,   Tecnologico de Monterrey, Campus Estado de Mexico
Many instructors have already discovered the joy of teaching programming using Python. Now it's time to take Python to the next level. This workshop will introduce Django, an open source Python web framework that saves you time and makes web development fun. It's aimed at CS instructors who want to teach how to build elegant web applications with minimal fuss. Django is Python's equivalent to the popular Ruby on Rails framework. Topics that will be covered include: setup and configuration, template language, and database integration through object-relational mapping. Participants should have some familiarity with Python, HTML and SQL. More information: Laptop required.
Workshop 7: How to Use Algorithm Visualizations in Your Class room: City View 1
Cliff  Shaffer,   Virginia Tech
Tom  Naps,   University of Washington, Oshkosh
Susan  Rodger,   Duke University
Stephen  Edwards,   Virginia Tech
Students and instructors say overwhelmingly that they love algorithm visualizations, but most instructors rarely incorporate them into their classes. Instructors tell us that two things get in their way: (1) difficulty in finding good AVs and information about how they can be used effectively and (2) difficulty in making changes to the class that are needed to introduce this new approach. We will guide you past the real-life pitfalls that get in the way of using AVs in the classroom. We show you how to find the resources that you need, and present case studies of successful classroom deployments This workshop is about helping you to make the changes you have said for years that you want to make. You will get time to try out some recommended AVs during the workshop. Laptop recommended.
Workshop 8: Making Mathematical Reasoning Fun: Tool-Assisted, Collaborative Techniques room: City View 2
Jason  Hallstrom,   School of Computing, Clemson University
Joe  Hollingsworth,   Computer Science, Indiana University Southeast
Joan  Krone,   Mathematics and Computer Science, Denison University
Murali  Sitaraman,   School of Computing, Clemson University
Is it possible to excite students about learning the mathematical principles that underlie high-quality software? Can we teach them to apply these principles using modern software tools? Can this be accomplished without displacing existing content? Yes! But it takes the right set of pedagogical principles, teaching tools, and classroom exercises. This hands-on laboratory will introduce a set of principles, tools, and exercises that work. Participants will be better prepared to teach students to reason rigorously about the software they develop and maintain. Funding is available to cover registration for some attendees; please contact the workshop organizers for details. (laptop required)
Workshop 9: General purpose computing using GPUs: Developing a hands-on undergraduate course on CUDA programming room: City View 3
Barry  Wilkinson,   University of North Carolina Charlotte
Yaohang  Li,   Old Dominion University
GPUs (graphical processing units) with large numbers of cores are radically altering how high performance computing is conducted. With the introduction of CUDA for general-purpose GPU programming, we can now program GPUs for computational tasks and achieve orders of magnitude improvement in performance over using the CPU alone. With CUDA- enabled GPUs, any desktop or laptop computer can become a very high performance computer. Some HPC clusters now incorporate large numbers of GPUs, which now impact on how clusters are programmed. The purpose of this workshop is to provide CS educators with the fundamental knowledge and hands-on skills to teach CUDA materials at the undergraduate level. A laptop is required, which does not need to be CUDA-enabled as remote GPU servers will be provided.
Workshop 10: Writing Effective NSF Proposals room: City View 6
Sue  Fitzgerald,   National Science Foundation
Scott  Grissom,   National Science Foundation
Victor  Piotrowski,   National Science Foundation
This workshop will focus on writing effective education NSF proposals. It will cover writing goals, objectives and outcomes; constructing a convincing rationale; preparing a responsive evaluation plan; crafting a useful and believable dissemination plan; and dealing with the realities of the review process. The workshop will use a guided- interactive methodology to introduce topics and related issues, engage participants in group exercises, and provide "expert" opinions on these issues. The intended audience is faculty at two-year and four-year colleges and universities who are seeking NSF funding in support of undergraduate education. Participants will include novice proposal writers as well as those who seek to improve their proposal writing. Laptop Optional.
Workshop 11: Audacious Android Application Programming room: Lone Star A4
(room change)
Frank  McCown,   Harding University
As smartphones and mobile devices become ubiquitous, many CS departments are adding mobile computing electives to their curriculum. Google’s Android OS is a freely available and popular smartphone platform with applications programmed in Java. Workshop participants will be introduced to mobile app development and the Android SDK. We will write some simple Android apps with Eclipse and run them on an emulator. For those interested in teaching an upper-level Android course, reusable programming labs and projects will be distributed, and we will discuss some teaching strategies. Participants should be capable of writing Java programs in Eclipse and should bring their own laptop preloaded with Eclipse and the Android SDK. More info here. Laptop recommended.
Workshop 12: Using map-reduce to teach parallel programming concepts across the CS curriculum room: City View 8
Richard  Brown,   St. Olaf College
Elizabeth  Shoop,   Macalester College
Patrick  Garrity,   St. Olaf College
Timothy  Yates,   St. Olaf College
Map-reduce, the cornerstone of Google- and Yahoo!-style computing, has star appeal to draw students to the study of parallelism. Workshop participants will carry out exercises that introduce data-parallel processing concepts, using the open-source Hadoop map-reduce programming environment. The exercises are designed for the CS1, intermediate, and advanced curricular levels. CS1 exercises use a simplified interface developed by the presenters for Hadoop programming by introductory students, using Java, Python, Scheme, or C++. Intermediate and advanced exercises use standard Hadoop programming in Java or C++. Expository materials and portable software infrastructure provided to participants. Intended audience: CS instructors. Laptop required (Windows, Mac, Linux).