SIGCSE 2012 | February 29 - March 3, 2012 | Raleigh, North Carolina, USA


Saturday   3:00 PM - 6:00 PM (room: As Assigned)

Workshop 28: Snap! (Build Your Own Blocks) room: 301A
Brian  Harvey,   University of California, Berkeley
Daniel  Garcia,   University of California, Berkeley
Josh  Paley,   Henry M. Gunn High School
Luke  Segars,   University of California, Berkeley
This workshop is for high school and college teachers of general- interest ("CS 0") computer science courses. It presents the programming environment used in two of the five initial AP CS Principles pilot courses. Snap! (Build Your Own Blocks) is a free, graphical, drag-and- drop extension to the Scratch programming language. Scratch, designed for 8-14 year olds, models programs as "scripts" without names, arguments, or return values. Snap! supports older learners (14-20) by adding named procedures (thus recursion), procedures as data (thus higher order functions) structured lists, and sprites as first class objects with inheritance. Participants will learn Snap! through discussion, programming exercises, and exploration. See for details. Laptop required.
Workshop 29: Circuits and Microcontrollers in Computer Organization Laboratories room: 301B
Marge  Coahran,   Dickinson College
Janet  Davis,   Grinnell College
This workshop will introduce a set of hands-on laboratory activities appropriate for a first Computer Organization course. Participants will work with real equipment: first implementing elementary digital circuits with TTL logic chips, and then programming AVR microcontrollers in assembly to drive fun accessories such as LEDs and speakers. Participants will not take equipment home afterwards, but will receive parts lists and vendor information. The workshop is intended for educators with little electronics background who are interested in incorporating electronics laboratories into their courses. Laptops (Linux, Mac, or Windows) will provide the programming environment for the AVRs. Free software will be available before the workshop. Participants will work in pairs. Laptop recommended.
Workshop 30: Web Development with Python and Django room: 302A
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 at: :8005/django/ Laptop Required
Workshop 31: Improving the Accessibility of Computing Enrichment Programs room: 302B
Richard  Ladner,   University of Washington
Karen  Alkoby,   Gallaudet University
Jeff  Bigham,   University of Rochester
Stephanie  Ludi,   Rochester Institute of Technology
Daniela  Marghitu,   Auburn University
Andreas  Stefik,   University of Southern Illinois, Edwardsville
Many wonderful enrichment programs have been created to introduce young people to computing, but with little attention to making them accessible to students with disabilities. In this workshop participants will learn from practitioners who have introduced computing and programming to young people with disabilities. They will also learn first-hand from students with disabilities about their needs in learning programming. There will be breakout sessions for participants to apply what they have learned to improve existing enrichment programs such as Alice, Arduino, Scratch, Kodu, App Inventor, Greenfoot, Lego Mindstorms, Processing, and Computer Science Unplugged. Laptop Recommended.
CANCELED-Workshop 32: Enhancing Student Interest by Extending Graphics Applications room: 302C
Samuel  Rebelsky,   Grinnell College
Computer science teachers strive for new examples and problems to interest millenials. The Media Computing approach has proven successful in attracting students in contexts from community colleges to R1 universities – students are clearly excited by writing programs that make images. In this workshop, we show how to go a step further and have write scripts and plug-ins in Python for open-source graphics programs such as GIMP and Inkscape. Students not only make images, they write filters and features that they can share with others, even non- programmers. E.g., students have written filters that “fractalize” vector graphics or that turn images into stained glass. Further information can be found at elsky/Workshops/SIGCSE2012/ Laptop required.
Workshop 33: Engage Your Students by Teaching Programming Using Only Mobile Devices with TouchDevelop room: 305A
Nikolai  Tillmann,   Microsoft Research
Michal  Moskal,   Microsoft Research
Jonathan  de Halleux,   Microsoft Research
Manuel  Fahndrich,   Microsoft Research
Tao  Xie,   North Carolina State University
The world experiences a technology shift: Powerful and easy-to-use mobile devices like smartphones and tablets are becoming more prevalent than traditional PCs and laptops. We propose to reflect this new reality by adapting how programming is taught. Students should develop software directly on smartphones. In this workshop, we introduce TouchDevelop on Windows Phone 7, a novel application creation environment from Microsoft Research. Its typed, structured programming language is built around the idea of only using a touchscreen as the input device to author code. Easy access to the rich sensor and personal data available on a mobile device results in an engaging programming experience for students who learn programming by creating fun games and applications. Laptop Optional.
Workshop 34: CS in Parallel: Modules for Adding Parallel Computing to CS Courses, from CS2 to Theory of Computation room: 306A
Richard  Brown,   St. Olaf College
Elizabeth  Shoop,   Macalester College
Parallel computing with more and more cores is here to stay. This workshop presents four independent, class-tested, primarily hands-on modules for incrementally adding parallelism in undergraduate CS courses, each requiring 1 to 3 class days and versatile for diverse courses and curricula: parallelizing loops and sharing memory on Intel's Manycore Testing lab (for a second CS course or for computer organization); parallel web crawler in Java or C++ (second CS course); parallel sorting (algorithms); π- calculus theory for communicating sequential processes (theory of computation). Workshop materials provided, drawn from Intended audience: CS instructors. Laptop recommended (Windows, Mac, Linux).
Workshop 35: Listening to Linked Lists: Using Multimedia to Learn Data Structures room: 306B
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 can then be 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.
Workshop 36: Puzzle-Based Learning: Introducing Creative Thinking and Problem Solving for Computer Science and Engineering room: 306C
Raja  Sooriamurthi,   Carnegie Mellon University
Nick  Falkner,   University of Adelaide
Zbigniew  Michalewicz,   University of Adelaide
Puzzle-based learning (PBL) is an emerging model of teaching critical thinking and problem solving. Today’s market place needs skilled graduates capable of solving real problems of innovation in a changing environment. While solving puzzles is innately fun, companies such as Google and Yahoo also use puzzles to assess the creative problem solving skills of potential employees. In this interactive workshop we will examine a range of puzzles, games, and general problem solving strategies. Participants will emerge with the needed pedagogical foundation to offer a full course on PBL or to include it as part of another course. Currently 40+ institutions around the world are offering courses based on PBL. More details are available at u. Laptop optional.