Workshops, Saturday Feb. 26, 2005

Saturday  4:00 PM - 7:00 PM

27 Multimedia Projects for CS1 and CS2 Room: Landmark 2
   Mark Guzdial, Georgia Tech, College of Computing
Barbara Ericson, College of Computing, Georgia Tech

Constructing and manipulating media is a motivating context for students in CS1 and CS2.. Modern computers are capable of interesting media effects in reasonable running time, using simple and obvious algorithms that fit within the constraints of introductory courses’ curricula. In this workshop, we will present algorithms (mostly in Python) and working code (in Java) for the creation and manipulation of sound, image, and video data. Example techniques will include sound splicing and reversing, chromakey ("blue screen") image effects, animation, and Photoshop-like image filters.

28 Computer Security Essentials, Part 2 - Intrusion Detection and System Defense Room: Landmark 3
THIS WORKSHOP IS NOW FULL!!!! Paul Wagner, University of Wisconsin - Eau Claire
Andrew Phillips, University of Wisconsin - Eau Claire
Daren Bauer, University of Wisconsin - Eau Claire
Tom Paine, University of Wisconsin - Eau Claire
Jason Wudi, University of Wisconsin - Eau Claire

This is the second of two workshops for CS educators developing curricula in computer security. Participation in workshop part one is recommended as a prerequisite. We provide guided hands-on instruction and experimentation on both defensive techniques and the understanding of exploits for the purpose of better defending systems. The session concludes with a hands-on exercise giving the participants an opportunity to participate in a carefully constructed and monitored cyberwar scenario; i.e. the participants will harden their systems, identify potential exploits and threats, and work to understand the mindset of the attacker by identifying weaknesses in all systems on the network. (HANDS-ON)

29 Facilitating Student Written Operating Systems in the Undergraduate OS Course Room: Westmoreland
   Michael Goldweber, Xavier University
Renzo Davoli, University of Bologna

Ideally, the most meaningful learning experience for students in an undergraduate OS course would be to develop fully-functional OS’s on their own. This can be accomplished using μMPS, a hardware simulator for a pedagogically undergraduate-appropriate architecture, along with Kaya, a specification for a multi-layer OS supporting multiprocessing, VM, thread synchronization and external devices; disks, terminals, tape and printers. Attendees will not only learn all that is necessary to begin using μMPS/Kaya but will receive all the curricular materials (Student Guide and Instructor’s Guide) needed to make immediate (i.e. “out-of-the box”) and effective use of this courseware system.

30 Assigning team projects: problems, pitfalls, and solutions Room: Portland
   Joanna Wolfe, University of Louisville
Timothy Hardin, University of Louisville

This workshop draws on the presenters' experiences observing, videotaping, and interviewing members of over 15 student teams. We will analyze short videotapes illustrating common problems in student teams and discuss practical ways to avoid these problems. Topics will include evaluating team projects, managing student teams, assigning discrete roles to team members, and avoiding gender bias. We will also review examples of successful team assignments, grading guidelines, and software for managing team projects. All participants will receive a CD and handouts containing instructor supplements, including videos that can be used to discuss teamwork. NSF support is gratefully acknowledged.

31 Advanced Lego MindStorms for the Advanced CS Curriculum Room: Benton
   Frank Klassner, Villanova University

This workshop will explore how to use LEGO MindStorms as an active-learning platform for teaching advanced CS topics ranging from Computer Architecture to Operating Systems to Wireless Networking to Artificial Intelligence. In this workshop, COMPUTER SCIENCE is emphasized over robot-building. Participants will receive material on how to use Java, C/C++, and Lisp to control and program MindStorms. This workshop assumes participants have already used MindStorms for at least one semester.

32 Model-Driven Programming Education Room: Parkview
   Jens Bennedsen, IT University West
Michael Caspersen, University of Aarhus

Motivated students, efficient learning, and a 90% pass rate are the results of applying a model driven approach to introductory object-oriented programming. We explore a CS1 course based upon a model-driven approach to programming focusing on systematic techniques for program construction. Exercises and assignments take a class model as starting point, and progression in the course is based upon complexity of class models rather than syntactical structures of a programming language. After the workshop attendees knows how to adopt the model-driven approach; a wealth of material supporting the approach is provided. Working knowledge of e.g. Java or C++ is required.

33 The Polymorphism Challenge Room: SLU McDonnell Douglas Hall 2101
   Joseph Bergin, Pace University
Eugene Wallingford, University of Northern Iowa

Facility with polymorphic programming is a valuable skill for a programmer or an instructor. This hands-on workshop will give you ideas and practice with the techniques required to program with dynamic polymorphism. As a participant you will practice the polymorphism etude with a partner under direction of the workshop leaders. You will re-write simple but complete programs that normally use if statements, to completely remove all selection structures in favor of polymorphism.This will give you important design experience and improve your skill as an object-oriented programmer and as a teacher. The workshop will stress techniques applicable to CS1. (HANDS-ON, OFF-SITE)

34 Fostering Classroom Engagement with DyKnow Vision and Tablet PCs or other Pen-based Computing Devices Room: SLU McDonnell Douglas Hall 2001
   Dave Berque, DePauw University
Scott M. Thede, DePauw University

Pen-based computing devices ranging from Tablet PCs to inexpensive graphics tablets (costing less than $100) are being used increasingly in the computer science classroom. Participants will learn how effective pedagogies can be fostered using such devices in conjunction with a software system named DyKnow VISION (www.dyknow.com, patent-pending). After a brief introduction to pen-based hardware, participants will learn how to use DyKnow VISION in (freely available) presentation mode. Participants will then experience how the full power of the licensed version of DyKnow VISION can support numerous interactive pedagogies that center on allowing students and teachers to share and annotate classroom materials. (HANDS-ON, OFF-SITE)

35 Using Eclipse to Teach Java Programming Room: SLU McDonnell Douglas Hall 2030
   Barry Burd, Drew University

The Eclipse development environment is great for both large and small classroom projects. Eclipse is an industrial strength IDE, but it can be customized and simplified for use by novice programmers. Eclipse’s smart Java editor compiles code as you write. It provides hierarchical views of the class/method structure, and comes with optional plug-ins for UML diagramming and visual drag-and-drop programming. Eclipse’s refactoring operations encourage good program structure. Over 40% of all professional Java developers use Eclipse. Best of all, Eclipse is being developed by the open source community. It’s free to use, and free to modify. (HANDS-ON, OFF-SITE)

36 Taming Java in CS1 Using Language Levels Room: SLU McDonnell Douglas Hall 1066
   Robert Cartwright, Rice University
Zung Nguyen, Rice University
Stephen Wong, Rice University

Java is the canonical language for teaching introductory programming, but its complex syntax and abundance of constructs are difficult for beginners to learn. This workshop will show how Java programming can be made more accessible to beginners through the use of language levels, a hierarchy of progressively richer subsets of Java. This approach to teaching Java minimizes the clerical burden involved in learning to write Java programs and reinforces the specific programming abstractions taught at each language level. The workshop will focus on providing hands-on experience using DrJava, an open source programming environment supporting language levels. (HANDS-ON, OFF-SITE)

37 Advanced Graphics Application Development with OpenGL Room: SLU McDonnell Douglas Hall 1003
   Dan Cliburn, Hanover College

Do you want to make your graphics course a little more entertaining for your students? This workshop is designed to introduce advanced graphics topics that can be incorporated into an undergraduate level graphics course that teaches OpenGL. Specifically, participants will learn how to add lighting, textures, fog, picking, billboards, sound (using DirectX), and joystick input (using GLUT) to their OpenGL applications. Each participant will develop a "dungeon crawl" game during the workshop that illustrates these concepts. Some prior C++ and OpenGL experience is required. (HANDS-ON, OFF-SITE)