SIGCSE 2006 Technical Symposium on Computer Science Education |
|
Houston, Texas USA March 1-5, 2006 | ||||||
| Home | Attendees | Authors | Reviewers | Students | Exhibitors and Sponsors | Contact Us |
| Saturday 3:30 PM - 6:30 PM |
| 25 | Secure Programming: Buffer Overflows and Other Common Mistakes | 336AB |
|
James Walden, Northern Kentucky University Despite the discovery of thousands of software vulnerabilities each year, few computer science programs teach secure programming techniques. This workshop introduces participants to common programming mistakes that produce security vulnerabilities, including buffer overflows, integer overflows, format string problems, directory traversal vulnerabilities, and SQL injection flaws. Examples of vulnerabilities and solutions will be shown in C, C++, and Java. We will also demonstrate how to find flaws using the Fortify Source Code Analysis Suite and discuss the use of secure design principles to create software that remains secure despite the presence of implementation flaws. |
||
| 26 | Teaching Mobile and Ad-hoc Networking using Simulation | 337AB |
|
Chris McDonald, The University of Western Australia This workshop will demonstrate that students' understanding of mobile and ad-hoc wireless networking can best be developed and assessed through quality, interactive, simulations. Classroom-tested material will demonstrate detection and recovery from data corruption and loss, collision detection and avoidance, table-driven and on-demand routing algorithms, protocols for battery power minimization, and the security of wireless networks. The workshop draws on our many years' teaching experience with the simulation of wide-area, local-area, and mobile and ad-hoc wireless environments, in both large undergraduate courses and graduate projects. Faculty will be introduced to exercises and assessments suitable for undergraduate open- and closed-laboratory sessions, and capstone projects. |
||
| 27 | Adding Software Testing to Programming Assignments | Grand Ballroom - J |
|
Stephen H. Edwards, Virginia Tech This workshop provides a practical introduction to how one can incorporate software testing activities as a regular part of programming assignments, supported by live demonstrations. It presents five different models for how one can incorporate testing into assignments, provides examples of each technique, and discusses the corresponding advantages and disadvantages. Approaches to assessment-using testing to assess student code, assessing tests that students write, and automated grading-are all discussed. Advice for writing "testable" assignments is given. Participant discussions are encouraged. |
||
| 28 | Designing Assignments and Exams using Bloom's Taxonomy | Grand Ballroom - K |
|
Raymond Lister, University of Technology, Sydney Bloom's taxonomy provides a useful framework for designing course objectives, and is especially useful for designing assignments and exams. Qualitatively different grading tasks are set for each passing grade, with the differences in the nature of the tasks reflecting the differing levels of Bloom's taxonomy. After the workshop presenter has presented his own experience with using the approach on two different courses - one CS1, the other an introduction to databases - the workshop will move to an interactive mode where attendees will sketch a Bloom-based approach for their own course, and discuss it with the presenter and other workshop attendees. |
||
| 29 | Java: an Eventful Approach | Grand Ballroom - L |
|
Kim B. Bruce, Pomona College In this workshop we describe an objects-first approach to teaching Java that introduces event-driven programming in the very first programming examples, introduces concurrent threads early, and uses graphics and animation extensively. We show how these seemingly advanced topics can be presented so that they are easy for introductory course students to grasp. We also show how our approach exposes students to object-oriented programming techniques more thoroughly than is possible in more traditional approaches. Our approach is supported by materials developed with NSF funding including extensive course notes, laboratory exercises, the objectdraw library, and a textbook published by Prentice Hall in the summer of 2005 (LAPTOP). |
||
| 30 | A Hands-On Approach to Formal Languages and Automata with JFLAP | Grand Ballroom - G |
|
Susan Rodger, Duke University JFLAP is a package of tools for experimenting with automata theory and formal languages: automata (FA, PDA, Turing machines), grammars, regular expressions, L-systems and parsing methods (brute-force, LL, and SLR). In addition one can study conversions of one form of a language to another form (examples: DFA to regular expression, CFG to PDA). In this hands-on workshop, participants will get an overview of JFLAP and learn how to integrate it into an automata theory or compiler course. Participants will get hands-on experience solving problems with JFLAP. Bring a laptop and download JFLAP for free from www.jflap.org (LAPTOP). |
||
| 31 | Learning Agile Python | Grand Ballroom - H |
|
Ariel Ortiz, Tecnologico de Monterrey Python is an interpreted object oriented language with important dynamic features that make it a suitable tool for agile software development. Python is easy to learn. It encourages readability, modularity and code reuse. Python is available for all major platforms, and it's free! In this workshop, participants will be introduced to Python's main features and at the same time will learn and apply these agile development practices: test driven development, refactoring, and pair programming. Additionally, possible uses for Python in CS courses (CS1/2, Databases, Compiler Construction, Web Development, etc.) will be discussed. Attendees should be familiar with object oriented programming (LAPTOP). |
||
| 32 | Digital Media: Why Do We Need It, and How Do We Teach It As REAL Computer Science? | Grand Ballroom - I |
|
Jennifer Burg, Wake Forest University This workshop will provide the participants with curriculum material that treats digital media as science, dividing the area into digital imaging, audio, video, and multimedia programming. The participants will be given extensive material including text-based chapters, interactive web-based demos, programming exercises, worksheets, and MATLAB exercises. Participants will discuss how to use this material in courses that teach digital media as computer science, covering topics such as sampling, quantization, aliasing, color models, compression, dynamic range, transforms, filters, and digital data communication. Capturing student interest in computer science via digital media and relating the science to hands-on assignments will also be discussed. |
||
| 33 | Design of Class Hierarchies: An Introduction to OO Program Design | 329 |
|
Viera K. Proulx, Northeastern University This workshop presents a curriculum and pedagogy for designing of object-oriented programs that is driven by the structure of the class hierarchies that represent the data. Design recipes guide the programmer through the design process, provide a framework for pedagogical intervention, and support the programmer with measurable outcomes at each step. Testing, documentation, and class diagrams are integral components of this design process. Class hierarchies with composition, inheritance and self reference with examples of data precede any exposition to the design of methods. Dynamic dispatch and polymorphism arise naturally from the structure of data. Repeated code patterns motivate the design of abstractions through interfaces, function objects, and abstractions over data types (LAPTOP). |
||
| 34 | Teaching and Strategies for Teaching with Alice | Rice - Dell Butcher |
|
Wanda Dann, Ithaca College This workshop is targeted to faculty who have taught a course using Alice or are experienced in using Alice. Participants will learn how to use advanced features of Alice and strategies for supporting open-ended student projects. Example worlds will demonstrate the use of lists and arrays as well as techniques for scorekeeping and games. Each participant will receive a CD containing the latest version of the software and sample materials, developed as part of NSF-0126833 and NSF-0339734 (OFFSITE). |
||
| 35 | Using LEGO Mindstorms in CS1 and CS2 | Rice - Symonds I |
|
Myles McNally, Alma College This workshop focuses on using LEGO MindStorms as an active-learning platform in CS 1 and 2. After an introduction to the MindStorms platform, the workshop will focus on a hands-on introduction to tested series of laboratories for use in the first year of CS instruction. The laboratories range from basic programming concepts such as variables, computation and methods to object-oriented concepts such as classes, interfaces, inheritance and polymorphism, and on to data structures such as stacks, queues and lists. Although Java-based, these projects can easily be adapted to C++. Participants will have priority to attend a follow-up NSF sponsored workshop the following summer (OFFSITE). |
||
| 36 | Testing and Understnading Student Programming Projects with the Marmoset Submission and Snapshot System | Rice - Symonds II |
|
William Pugh, University of Maryland Teaching programming courses is challenging because students make mistakes that are difficult to predict. You've probably seen student code and thought "I never dreamed someone would make that mistake!" What if you could find out what mistakes students are making as they work? Using the Marmoset submission and testing system, you can! In addition to providing constructive feedback to students and instructors, Marmoset collects detailed records of student code evolution, yielding a rich and largely unexploited source of data for software engineering research. The workshop will present Marmoset as practical classroom technology and a vehicle for research (OFFSITE). |
||
| 37 | Moodle - Getting Started with a Hands-on Tutorial in the Leading Open-Source LMS | Rice - Sewall Hall 101 |
|
D.I. von Briesen, Central Piedmont Community College This workshop will introduce the world's leading LMS and walk participants thru a hands-on demonstration of some of moodle's powerful features, including forums, quizzes, wikis, blogs, profiles, its block format, and the ease with which instructors can configure and customize moodle's pedagogically rich environment. Each participant will have access to their own course, which they can continue to develop after the workshop. Participants will also learn about the incredible community building around this open-source platform, with over 5000 installations in 120 countries. If you use the web, are interested in online learning, and care about education - come Moodle with us! (OFFSITE). |
||
|
Copyright © 2005 ACM SIGCSE -- Revised: March 2, 2005 |
|