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


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

Workshop 13: Developing an Android Mobile Application for the Google App Engine Cloud room: Lone Star A2
Joel  Hollingsworth,   Elon University
David  Powell,   Elon University
The web is the dominant computing platform of our time. Google has led the rapid development of technologies to create mobile and cloud computing applications and has freely provided them to the world. This workshop provides hands on exposure using Eclipse plugins from Google to develop a mobile application with both stand alone and cloud based services for data persistence. In the first of three sessions, the Android plugin will be used to develop a fully functional Android application. In the second session, the App Engine plugin will be used to develop cloud based services using Java Servlets and JPA. In the third session, participants will extend the stand alone mobile application to support cloud based services. Click here for more information. Laptop required.
Workshop 14: Computer Science Unplugged And Outreach Activities room: Dallas D3
Tim  Bell,   University of Canterbury
Bengt  Aspvall,   Blekinge Institute of Technology
Daniela  Marghitu,   Auburn University
Lynn  Lambert,   Christopher Newport University
You've been asked to talk to an elementary or high school class about Computer Science, but how can you ensure that the talk is engaging? Or perhaps you’re trying to introduce a concept from Computer Science to a school group, but you want a fun way to get the class engaged. This workshop introduces CS Unplugged (, a widely used set of kinesthetic, fun activities that cover many core areas of computer science without using high technology. We will explore how to use the activities in a variety of situations (including with special needs students), show some novel applications, and discuss ways that they can be combined with “plugged-in” activities. Attendees will receive a copy of a handbook for teachers and a collection of video files demonstrating the activities.
Workshop 15: Basic 2D Graphics and Animation Concepts for iPhone/iPad Games room: Lone Star A4
Jonathan  Lartigue,   Auburn University
Russell  Thackston,   Auburn University
Prateek  Hejmady,   Auburn University
iOS and Android devices and their respective app stores have revived the individual- and small- publisher game industry. App downloads in Apple's iTunes store - mostly games - now exceed song downloads. Developers are learning or refreshing game development skills to capitalize on this trend. A first step is understanding simple, 2D game design. We start at the beginning - presenting basic 2D graphics, animation, and game development on the iPhone platform. We introduce concepts such as basic sprites; versatile sprite class design; drawing, transforming, and animating sprites; and simple game engines. Hands-on activities apply these concepts to create a simple but functional prototype. Although we focus on the iPhone/iPad, concepts apply to any platform. No experience required.
Workshop 16: Making the Most of Undergraduate Research room: Dallas A1
Andrea  Danyluk,   Williams College
Susan  Rodger,   Duke University
Lori  Pollock,   University of Delaware
Margaret  Martonosi,   Princeton University
Kathryn  McKinley,   The University of Texas at Austin
Involving undergraduates in CS research has many benefits. It’s an exciting way for students to gain knowledge and independent problem solving skills. It exposes them to interesting projects and the research process, thereby keeping them in CS, even encouraging them to go to graduate school. And especially in primarily teaching institutions, it’s a rewarding way for faculty to remain engaged in their own research. In this workshop we will (1) present proven mentoring strategies for undergraduate research, (2) equip participants with materials to run mentoring workshops for undergraduates, and (3) further develop (1) and (2) by brainstorming with attendees. This workshop is intended for all college-level CS educators. Click here for more info. Laptop Optional.
Workshop 17: 2D Game Design and Development 101 room: Dallas A2
Scott  Leutenegger,   University of Denver
Rafael  Fajardo,   University of Denver
You have attended or heard about the game talks at SIGCSE over the past few years.  You know  inside that there is something there, your students want to make games, but, you have no clue how to go about designing and creating a game.  You can write/teach the code to move objects around and detect collisions between objects, but how the heck do you design the game?   In this workshop we will teach participants how to create a simple 2D game using their ideas and then transition to a rapid development exercise using Scratch. This workshop is intended for any CS instructor wishing to use game creation as an assignment but who is uncomfortable and/or unknowledgeable about how to design and create a simple game.
Workshop 18: Listening to Linked Lists: Using Multimedia to Learn Data Structures room: Dallas A3
Mark  Guzdial,   Georgia Institute of Technology
Barbara  Ericson,   Georgia Institute of Technology
Everybody teaches linked lists, with homework like implementing duplicate, weave, and reverse. When those nodes contain strings or numbers, these are pretty boring assignments. When these nodes contain music (MIDI), these operations are composing music, which can then be played. This workshop shows how to use music, images, and sounds to teach the basic data structures, including linked lists, circular linked lists, stacks, queues, and trees. These pieces are then tied together through the use of simulations to generate animated movies. We will be using Java, though many of the methods can also be used in Python. Laptop recommended, if you want to play along.
Workshop 19: Multithreading (Pretty) Early for Everyone: Parallelism and Concurrency in Second-Year Data-Structures room: Dallas D1
Dan  Grossman,   University of Washington
There is wide interest in introducing students to threads earlier, but how? This workshop gives an answer: a 3-week unit in data structures. It should appeal to data- structure instructors and those tasked with curriculum revision. A key approach is to distinguish parallelism (using more resources to solve problems faster) and concurrency (managing shared access to resources). The material is taught via core data- structure topics (asymptotic complexity, sorting, queues, etc.) and using Java and its ForkJoin Framework. Participants will write parallel programs, find concurrency errors, and discuss how to use/adapt the material developed by the presenter and already used by others. Those with or without knowledge of threads and fork-join are welcome. Laptop required.
Workshop 20: Reinvigorating CS1 with Creative Web 2.0 Programming room: Dallas D2
Stephen  Edwards,   Virginia Tech
Godmar  Back,   Virginia Tech
Michael  Woods,   Virginia Tech
Improving recruitment and retention depends on linking activities to real-world contexts that illustrate the social and societal impact of computer science. The sleek interaction and underlying technologies that define Web 2.0 applications offer a unique opportunity to teach CS concepts in a real-world context. Learn how students can create engaging Web 2.0 applications using simple Java programming and basic XHTML, without learning JavaScript or AJAX. See a full set of CS1 assignments leveraging this strategy. See how students can write a personal “Facebook-lite” they can show to friends. Play with live demos yourself. Leave with new assignment ideas. No laptop required.
Workshop 21: Computational art and creative coding: Teaching CS1 with Processing room: Lone Star A3
Ira  Greenberg,   Southern Methodist University
Deepak  Kumar,   Bryn Mawr College
Dianna  Xu,   Bryn Mawr College
Ursula  Wolz,   The College of New Jersey
This workshop showcases a new approach to teaching CS1 using computational and generative art as a context. Participants will be int roduced to the Processing programming language and environment, designed for the construction of 2D and 3D visual forms. Its IDE is light-weight, but well-suited for the kind of rapid proto-typing needed for dynamic visual work. We hope to bring the excitement, creativity, and innovation fostered by Processing into the computer science education community. Instructors of all experience levels - including none - are welcome. At least one- half of the workshop will be hands-on: participants will be able to learn and explore Processing and create a variety of visual effects on the fly. All participants will need to bring their own laptop computers.
Workshop 22: Build Your Own Blocks: A Scratch Extension for CS Courses for Non-Majors room: State Room 1
Brian  Harvey,   University of California, Berkeley
Daniel  Garcia,   University of California, Berkeley
Colleen  Lewis,   University of California, Berkeley
Luke  Segars,   University of California, Berkeley
Josh  Paley,   Henry M. Gunn High School, Palo Alto
This workshop is for high school and college teachers of general- interest ("CS 0") CS courses. It presents the programming environment used in one of the five "AP CS Principles" pilot courses. BYOB (Build Your Own Blocks) is a graphical, drag-and-drop programming language based on Scratch. Originally designed for 8-14 year olds, Scratch is unthreatening, object- oriented, and multithreaded. But a Scratch program is written as "scripts" without names, arguments, or return values. BYOB supports older learners by adding named procedures (thus recursion), procedures as data (thus higher order functions), and structured lists. Participants will learn BYOB through discussion, programming exercises, and exploration. See this website for details and software. Laptop required.
Workshop 23: Broadening Participation in Computer Science with Scratch, Jeroo, and GridWorld room: State Room 2
Stacey  Armstrong,   Cypress Woods High School
Judy  Hromcik,   Arlington ISD
Robert  Martin,   Dallas School for Talented and Gifted
This workshop is intended for all Computer Science teachers, especially those looking for strategies to broaden participation. Examples and approaches will be provided using Scratch, Jeroo, and GridWorld to teach fundamental Computer Science concepts in a relevant and engaging way, including iteration, decision- making, procedural abstraction, and inheritance. Tool differences and limitations will be covered as well as ways to use each tool to teach a particular topic more effectively. Examples will be relevant and engaging for a diverse audience of learners. The workshop will be hands-on and no prior experience will be required. Java 6.0 pre- installation is required and pre-loading Jeroo, Scratch, and GridWorld is strongly recommended. Laptop Required
Workshop 24: Greenfoot - Introducing Java With Games And Simulations room: State Room 3
Michael  Kolling,   University of Kent
Greenfoot is a programming environment, from the creators of BlueJ, that allows teaching of object- oriented programming concepts – using Java – in a highly motivating context. Built to be interactive and graphical, Greenfoot offers a more engaging experience than previous systems. Building widely differing scenarios, such a simulations or games, is easy and quick. This workshop is aimed at teachers of introductory Java programming courses (high schools and universities) who have no or little experience with Greenfoot. Laptop recommended for hands-on exercises. Participants without laptops will be paired with laptop owners. The workshop is practically oriented and allows participants to use Greenfoot in their classroom immediately. More information at Laptop Recommended.
CANCELED - Workshop 25: Using the FIRST (robotics) experience to reach pre-college students via near-peer mentors room: ---
Stephanie  Ludi,   Rochestere Institute of Technology
This workshop introduces participants to using FIRST (For Inspiration and Recognition of Science and Technology) robotics challenges and technologies as a means of conducting outreach with middle and high school students. The use of FIRST goes beyond programming providing linkages to various domains in a manner that promotes teamwork and research. Participants will learn about how to conduct a FIRST team, using university students as near peer mentors. The workshop is divided into outreach strategies, managing a FIRST team, and practicing robot design and programming using a sample FIRST challenge. You can learn more about FIRST here.