Attended ACM's conference for Computer Science Educators from Wednesday 3/10 to Saturday 3/13. Program At a Glance
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.
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.
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:
- Firebug for Firefox (debugging Web services)
- w3c validator
- NetBeans (has PHP debugger & Ruby on Rails)
Discussed the variety of courses and texts available.
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
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
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
Attended ACM's conference for Computer Science Educators from Thursday 3/13 to Saturday 3/15. Program At a Glance
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
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
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:
- Firebug for Firefox (debugging Web services)
- Fiddler (App)
- w3c schools
- w3c validator
- APOGEE
- XML spy
- Taco HTML
- 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.
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.
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.
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
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