Computer Sciences Dept.

Deb Deppeler

Faculty Associate

5376 Computer Sciences
(608) 265-9452

photo from 3/22/2004 outside building

Activities

  • SIGCSE Conferences
  • Math Department WES Review Committee
  • Teaching and Learning Symposium
  • Expanding Your Horizons
  • Lilith Fair
  • Miscellaneous Workshops
  • SIGCSE 2010, Milwaukee, Wisconsin

    Attended ACM's conference for Computer Science Educators from Wednesday 3/10 to Saturday 3/13. Program At a Glance

    March 2010

    Compilers and Programming Languages

    Thurs (03/11/10) 10:30-11:15pm

    Building Server-Side Web Language Processor

    Basically two approaches: embed HTML inside language, embed language inside HTML

    MieruCompiler, Integrated Visualization Tool with "Horizontal Slicing" for Educational Compilers

    http://www.sde.cs.titech.ac.jp/~gondow/MieruCompiler/

    Frances: A Tool For Understanding Code Generation

    www.cs.iastate.edu/~sapha/tools/frances

    Allows students to type code fragments (c/c++/fortran) into web form and then see their assembly language in a color coded and linked (with arrows) diagram.

    Cluster and Grid Computing

    Thurs (03/11/10) 2:00-3:15pm

    Social Networking: The New Computer Fluency

    CS needs to teach about these topics before other departments teach the courses.

    Educating the next generation of Spammers

    Gave several examples of labs that teach students about the complexity and insecurity of the web, personal power consumption.

    Teaching the Principles of the Hacker Curriculum to Undergraduates

    It's important to teach students how things fail and to understand and track down border conditions that may fail.

    Vendor session: Google Getting Started with Cluster Computing for Undergrads

    Comparing Alice, Greenfoot, & Scratch

    Thurs (03/11/10) 3:15-5:00pm

    10 min Whack-a-Mole in Alice

    10 min Start a project from scratch in Greenfoot: created rolling cheese, rolling pig, penquin jump, antworld: emergent behaviour

    10 min Wombat and Leaves Demo in Scratch: growing a tree (recursion)

    Can share solutions online in each program

    alice.org

    greenfootgallery.org

    scratch.mit.edu

    Output in Greenfoot is 2D graphics. Students need an introduction to Greenfoot as it's harder to tinker with than Scratch or Alice.

    greenfoot.org/docs/

    BOF: Web Programming (at Hilton)

    Thurs (03/11/10) 6:10-6:55pm

    Discussed current practices for teaching Web Programming in CS curriculums. Several tools were named:

    1. Firebug for Firefox (debugging Web services)
    2. w3c validator
    3. NetBeans (has PHP debugger & Ruby on Rails)

    Discussed the variety of courses and texts available.

    Concurrency

    Fri (03/12/10) 10:30-11:45am

    A Breadth-First Course in Multicore and Manycore Programming

    Students preferred the low-level (more control) over the high-level tools (easier)

    See: rivoire.cs.sonona.edu/cs385

    Test-First Java Concurrency for the Classroom

    Give students basic test suite and have them extend the suite

    ConcJUnit is backwards compatible replacement for JUnit that does detect exceptions in threads. Also, ensure that child threads are joined and which child thread fails if one fails.

    Can now detect data races and deadlock. Demo of multi-threaded test of a Counter object and how it fails, but is not detected. Even race-free, deadlock-free programs are non deterministic because thread creation is not deterministic.

    Multi-threaded Breakout: multiple ball, each in its own thread. Block counts, and coordinate changes are not atomic. A synchronized version is still not deterministic. ConcJUnit detects the problem.

    Presenter used Dr. Java as IDE

    Concurrent programming is becoming more important but it's difficult.

    Introducing Concurrency in CS 1

    Students understood concurrency, but not parameters.

    Simple concurrency can be easier than single-threaded solutions to some problems.

    Used Applets, classes & objects, conditionals, later while loops.

    Demos: Pong, Falling Leaves

    Assignments: BoxBall, Leaves falling, Frogger

    Fri (03/12/10) 1:30-2:45pm

    Scalable Game Design and the Development of a Checklist for Getting Computational Thinking into Public Schools

    Presenter: Alexander Repenning, University of Colorado at Boulder

    Attract students at the middle school level.

    Real need: Instructed over 1300 students in first semester of implementation.

    52.3% girls

    78% of girls 68% of boys want to continue

    With thinking tools, scaffolding approaches and teacher support, k-12 is the right place to begin CS education.

    Scalablegamedesign.cs.colorado.edu

    Game-Themed Programming Assignments For Faculty: A Case Study

    Focus on faculty. How to help existing faculty learn about games. Provide some material to faculty, project web-site, pdf, to help faculty develop their own materials.

    Console based 2D array: Othello

    Need technical challenges in the game

    What Game Developers Look for in a New Graduate: Interviews and Surveys at One Game Company

    One company's views

    Used a likert scale of qualities they look for: bit.ly/sigcse2010

    Willingness to write a "good enough" solution, not obsess with elegance

    Specialized skills ranked lower in general than general skills.

    Need a basic idea of how rendering works but not advanced degree in Graphics

    Most highly rated skill was "Work with others and check your ego at the door. Imperative to have good people skills

    Reaching K12 Students

    Fri (03/14/10) 4:00-5:15pm

    Increasing Diversity in K-12 CS: Strategies from the Field

    Social Group: Find a small group of friends and try and get the whole group to join the computer club, etc.

    Focused recruitment: "You are uniquely qualified for CS. I'm the teacher. Here's what we'll learn."

    Culturally Relevant:

    • Build on the student's prior knowledge
    • Media computation
    • Ethnocomputing: anthro, math, and computing
    • Developmentally appropriate, adolescent-friendly

    Role models: lab tours show few females. This made me recall the morning's keynote address, when Marissa Mayer (Google) identified herself as an engineer, not as a Computer Scientist. This was so even after being questioned about her title.

    Discussed the effect of income on the types of courses available to HS students: "Computer Science" vs "Computer Literacy". I should read "Stuck in the Shallow End".

    Urban Youth Learning Programming with Scratch

    Create stores, make programming fun. There is a sprite and a stage. 88% of scratch projects had multiple threads (even if students didn't understand that fact).

    Computer clubhouse: Would they try to use and continue to use scratch after being shown how to use scratch? Which CS concepts would they learn, which would be missed? They analyzed scratch programs and interviewed students to answer these questions. They counted the blocks that were used to see what students understood. The assumption being that, if a block was used, it was understood.

    They found that user interaction and loops were used frequently (easy to use and understand), but that conditionals and communication (between sprites) were not frequently used (must be hard to use and understand).

    One student was stuck on a problem and when shown how to create and use a variable to solve the problem, the student said "Thank you for introducing variables."

    Use scratch as a quick warm-up in CS-1 courses. To get the idea of "Programming is fun"

    Cyber Civics: A Novel Approach to Reaching K-12 Students with the Social Relevance of Computer Science

    Several projects that combine social (government) studies with computer science topics.

    • eVoting
    • privacy of digital communication
    • data mining
    • intellectual property rights
    • digital rights management

    Helps students see a CS career as important and socially civic relevant. There are daily news stories that can be used as topics of discussion and project ideas. Can add CS projects to many courses or add a cyber civics course, to teach students to be good and informed citizens of the modern world.

    READ: "Hacking Democracy"

    Can purchase a RFID reader for $100 from ThinkGeek as a way to demonstrate how insecure our networks are.

    Clarkson Cyber Civics Projects

    Security Education: A Roadmap to the Future

    Sat (03/15/10) 10:00-11:15pm

    How to write? How to teach? What resources are available to learn and teach secure programming skills?

    Data management skills are very suitable with security. Must analyze data to monitor security of systems. Traffic analysis studies are hard because of privacy issues of personnel. There are lots of social issues involved.

    Status of security education. There is no known comprehensive survey.

    NSA: Academia

    Many try to integrate security techniques into existing courses without offering special courses.

    Books:

    • "Intro to Computer Security"
    • "Computer Security: Art and Science", By Matt Bishop
    • "Security in Computing" by Pfleeger and Pfleeger
    • "Art of Deception and Art of Intrusion Detection"

    Build Security In: Daisy

    CISSE Conference Proceedings

    Academic Resource Center

    Microsoft Security

    Slides and Notes from this talk

    Sat (03/15/10) 11:00-12:15pm

    Grace Hopper Visits the Neighborhood

    Have a Grace Hopper conference in your state.

    Improving the Persistance of First Year Undergraduate Women in CS

    Qualitative ethnographic study of 14 of 24 CSE120 students experiences in Computer Science. Each student kept a journal and was interviewed throughout the semester.

    Women relied on the TAs for support, men relied on each other and instructors.

    The Effect of Using Problem-Solving Software Tutors on the Self-Confidence of Female Students

    Used software tutor to pre-survey, pre-test, train, post-test, post-survey students in an effort to quanitfy the abilities (pre and post) of male and female students and compare this with the students perception of their abilities (self-confidence).

    www.problets.org

    SIGCSE 2008, Portland, Oregon

    Attended ACM's conference for Computer Science Educators from Thursday 3/13 to Saturday 3/15. Program At a Glance

    March 2008

    Compilers and Programming Languages

    Thurs (03/13/08) 10:30-11:15pm

    Bantam: A customizable, Java-Based, Classrooom Compiler

    www.bantamjava.com

    Language Engineering in the Context of a Popular, Inexpensive Robot Platform
    Language Design and Implementation using Ruby and the Interpreter Pattern

    sif.arielortiz.com

    Cluster and Grid Computing

    Thurs (03/13/08) 2:00-3:15pm

    Cluster Computing for Web-Scale Data Processing
    Microwulf: A Beowulf Cluster for Every Desk
    Towards a Top-Down Approach to Teaching an Undergraduate Grid Computing Course

    Vendor session: Google Getting Started with Cluster Computing for Undergrads

    Thurs (03/13/08) 4:00-5:15pm

    The presenters were motivated by working for Google and interviewing undergraduates who had no idea how to scale algorithms for clusters of comuters. They created a course at Univ of Washington - Tacoma to teach cluster computing to undergraduates.

    They used open-source software available from IBM, Google, and set up an academic cluster of ~40 machines, "Cloud Venture".

    The described two functions, Map and Reduce, for mapping information to create indices. They also described their PageRank formula. Hadoop is the open source port of cluster computing resources and code.google.com/edu is Google's Education tutorials and forums.

    code.google.com/edu

    hadoop.apache.org/core/

    BOF: Web Programming (at Hilton)

    Thurs (03/13/08) 6:00-6:45pm

    Discussed current practices for teaching (or not) Web Programming in CS curriculums. Several tools were named:

    1. Firebug for Firefox (debugging Web services)
    2. Fiddler (App)
    3. w3c schools
    4. w3c validator
    5. APOGEE
    6. XML spy
    7. Taco HTML
    8. NetBeans (has PHP debugger & Ruby on Rails)

    Discussed pros and cons of teaching to standards (w3c) or current market forces (Microsoft). The DOM differs between IE and w3c. Is there a converter? It is important to test your code on multiple browsers.

    Learning Through Collaboration

    Fri (03/14/08) 10:00-11:15pm

    The Effects of Pair-Programming on Individual Programming Skill

    Improved the ability of all programmers, but improved the ability of lesser programmers more, effectively levelling the field.

    May want to try: web-cat.cs.vt.edu

    An Experimental Study of Cooperative Learning in CS-1

    Described several small group exercises designed to teach basic programming concepts.

    Simulate executing a program. Each student is taught how to perform a specific role.

    • variable manager
    • input student
    • output student
    • control student - program reader

    Have students look at code and answer the questions.

    • Does is work?
    • Can you fix it?

    Group 1 writes the code. Group 2 tests and tells "what" went wrong, not "how to fix". Group 1 fixes. Repeat.

    Instructor must tolerate uncertainity and avoid recipes for the solution. Open-ended means different solutions work. Must facilitate the group process and help define roles and expectations. End class with a debriefing to ensure that all students got all parts of each exercise.

    A complete set of learning exercises is available by email:
    {beck, achizhik} at cs.sdsu.edu

    Problem Solving in Community: A Necessary Shift in CS Pedagogy

    There is a need for computational thinking and authentic inquiry-baded problem solving. Need to know about many disciplines, like: Applications, games, browsers, logs, statistics, large project, scale, resilience, working in teams.

    Created a different culture for the CS classroom. Pros: better accessibility without disenfranchising the majority.

    Have special project for the top students in lieu of a final exam. Have a contest to see who can be on this team.

    Find projects in the community: from other departments, from non-profits. Lots of database and web app projects around. Helps to teach team dynamics, not pair dynamics. Students must talk to each other. Have weekly deliverables.

    Use the critique methodology from Art for multi-directional evaluation. Team problem solving: map students to task they are suited to, to balance and leverage skills. Students are asked to report on the resources they need, and the people that failed them and the people that they failed during each week of the project. Grade the weekly deliverables.

    Serious Fun: Peer-Led Team Learning in CS

    Fri (03/14/08) 2:00-3:15pm

    Helped Jim and Steve Huss-Lederman with PLTL session activies. 55 people participated in addition to 15 team leaders, the paper authors, and myself.

    Reaching K12 Students

    Fri (03/14/08) 4:00-5:15pm

    Increasing Diversity in K-12 CS: Strategies from the Field

    Social Group: Find a small group of friends and try and get the whole group to join the computer club, etc.

    Focused recruitment: "You are uniquely qualified for CS. I'm the teacher. Here's what we'll learn."

    Culturally Relevant:

    • Build on the student's prior knowledge
    • Media computation
    • Ethnocomputing: anthro, math, and computing
    • Developmentally appropriate, adolescent-friendly

    Role models: lab tours show few females. This made me recall the morning's keynote address, when Marissa Mayer (Google) identified herself as an engineer, not as a Computer Scientist. This was so even after being questioned about her title.

    Discussed the effect of income on the types of courses available to HS students: "Computer Science" vs "Computer Literacy". I should read "Stuck in the Shallow End".

    Urban Youth Learning Programming with Scratch

    Create stores, make programming fun. There is a sprite and a stage. 88% of scratch projects had multiple threads (even if students didn't understand that fact).

    Computer clubhouse: Would they try to use and continue to use scratch after being shown how to use scratch? Which CS concepts would they learn, which would be missed? They analyzed scratch programs and interviewed students to answer these questions. They counted the blocks that were used to see what students understood. The assumption being that, if a block was used, it was understood.

    They found that user interaction and loops were used frequently (easy to use and understand), but that conditionals and communication (between sprites) were not frequently used (must be hard to use and understand).

    One student was stuck on a problem and when shown how to create and use a variable to solve the problem, the student said "Thank you for introducing variables."

    Use scratch as a quick warm-up in CS-1 courses. To get the idea of "Programming is fun"

    Cyber Civics: A Novel Approach to Reaching K-12 Students with the Social Relevance of Computer Science

    Several projects that combine social (government) studies with computer science topics.

    • eVoting
    • privacy of digital communication
    • data mining
    • intellectual property rights
    • digital rights management

    Helps students see a CS career as important and socially civic relevant. There are daily news stories that can be used as topics of discussion and project ideas. Can add CS projects to many courses or add a cyber civics course, to teach students to be good and informed citizens of the modern world.

    READ: "Hacking Democracy"

    Can purchase a RFID reader for $100 from ThinkGeek as a way to demonstrate how insecure our networks are.

    Clarkson Cyber Civics Projects

    Security Education: A Roadmap to the Future

    Sat (03/15/08) 10:00-11:15pm

    How to write? How to teach? What resources are available to learn and teach secure programming skills?

    Data management skills are very suitable with security. Must analyze data to monitor security of systems. Traffic analysis studies are hard because of privacy issues of personnel. There are lots of social issues involved.

    Status of security education. There is no known comprehensive survey.

    NSA: Academia

    Many try to integrate security techniques into existing courses without offering special courses.

    Books:

    • "Intro to Computer Security"
    • "Computer Security: Art and Science", By Matt Bishop
    • "Security in Computing" by Pfleeger and Pfleeger
    • "Art of Deception and Art of Intrusion Detection"

    Build Security In: Daisy

    CISSE Conference Proceedings

    Academic Resource Center

    Microsoft Security

    Slides and Notes from this talk

    Sat (03/15/08) 11:00-12:15pm

    Grace Hopper Visits the Neighborhood

    Have a Grace Hopper conference in your state.

    Improving the Persistance of First Year Undergraduate Women in CS

    Qualitative ethnographic study of 14 of 24 CSE120 students experiences in Computer Science. Each student kept a journal and was interviewed throughout the semester.

    Women relied on the TAs for support, men relied on each other and instructors.

    The Effect of Using Problem-Solving Software Tutors on the Self-Confidence of Female Students

    Used software tutor to pre-survey, pre-test, train, post-test, post-survey students in an effort to quanitfy the abilities (pre and post) of male and female students and compare this with the students perception of their abilities (self-confidence).

    www.problets.org

     
    Learn@UW | Computer Sciences | UW Home | Quiz Dev