Skip to content

Computer Science Teachers Conference (CSTA CS/IT 2010)

2010 July 14
by Hélène Martin

Yesterday was a long day well spent at Google headquarters for the Computer Science Teachers Association‘s annual Computer Science & Information Technology Symposium.  It was a fairly modest gathering — I think there were about 200 of us (soon to be 10,000) – but a lot of great folks came out and there were fantastic conversations inside and outside of sessions.

Spaf on “Soup to Nuts”

Gene Spafford, of security fame, kicked things off with a keynote covering interesting puzzles to get students thinking out of the box as well as ideas on how to inspire students by showing them what can be done with computer science.  Examples included training soldiers with Segway-based robots and discovering security holes that make power plants vulnerable to cyber attacks.  Overall, it was an interesting, engaging talk.  There was a lot I recognized from Ed Lazowska‘s talks and materials I already use which I found comforting in some way.

Code as a Metaphor for Computational Thinking

I then went to Owen Astrachan‘s Code as a Metaphor for Computational Thinking session.  As he opened, he said he’d let us decide whether the talk was actually about computational thinking because he wasn’t sure.  Interesting to hear him say that — I have a hard time with the “computational thinking” label because I haven’t seen a satisfying explanation of what it is.  The talk was centered on three examples that involved reasoning about existing computational artifacts, writing some related code and then analyzing that code.  At one point, he said something to the effect of “if you don’t write code in class, students won’t know how to do it.”  I appreciated that and do believe that there’s something very powerful about seeing a (relative) expert go through the process of writing a program, making mistakes, verifying it, using tools like IDEs appropriately, etc.  I’m very suspicious of instructors who talk about code without demonstrating how to write anything.

The first example he discussed involved online gambling.  He started by mentioning that it’s a good place to talk about the legal code as it relates to computing.  It’s also a good opportunity to show some interesting code for labeling hands — he showed us a flawed example of an “isPair” function that returned true even when the hand should really be considered a triple or better.  We talked through different ways of resolving this issue and lots of good design ideas came out.  My only concern would be that poker tends to be a high-income, white, nerdy male sport… using this example would require careful thought on how to present it without alienating anyone.  I don’t really know poker and my first reaction was “yawn” though I warmed up to it once we got to the code.  There really are interesting things that come up, here.  One audience member suggested that the problem could be fixed by always calling the hand-testing functions in order of highest-scoring to lowest-scoring.  True, but Michael Kölling of Greenfoot fame rightly pointed out that functions should work regardless of the context in which they’re called.  This is a good type of conversation to have with and between students.  Students can then implement all the hand-scoring functions and compare their runs to expected probabilities, using those to evaluate whether their implementations are correct.  That’s an idea I really like.

Owen’s second example involved Tin Eye, a search engine that lets you upload a picture and find instances of it regardless of size, compression, format, etc.  It’s interesting to speculate on how it works and to try to discover the limits of its tolerance.  For example, Owen suggests that we ask students to use steganography functions to hide an unrelated image into a target image then see whether Tin Eye still recognizes the target.  What if more of the target image were replaced?  What if part of the image were cropped?  One could do something similar with Shazam, a tool for recognizing songs.  I like the “let’s figure this out” feel of this example.

Finally, he discussed an example from the “code of life” — finding repeated DNA substrings.  This is an interesting algorithmic problem that can be discussed free from code and eventually be written as an exercise.  The discovery for me was that Duke has a small set of problems with test sequences available here.  I don’t know what computational thinking is, but what Owen discussed were definitely examples of it.

Pre-AP Recruiting

The next session I attended, “How does your geek garden grow?  Identifying and cultivating the geeks of tomorrow (AP CS Feeder Course)” left a sour taste in my mouth.  The speaker argued that we need to be better at communicating with math teachers and counselors to tell them that we are in fact looking for the bored, disinterested students at the social fringe who never do their homework.  The reason for this is that they may make great ‘geeks,’ which is the type of person the tech industry wants to hire.  Maybe my thinking is clouded by the luxury of having lots of motivated, social students who want to take my courses but I really do want to target the leaders, the social butterflies, the high-achievers as much as possible.  Of course, I want my courses to be inclusive of all, but I feel that targeting unmotivated students at the social fringes is a pretty desperate move and not one I think will do a lot for the image or success of K-12 Computer Science.  The speaker’s suggestion for getting those unmotivated students is to tell them that they’ll make  video games, that there will be no homework and that they’ll pass if they play along.

This makes me uncomfortable but the speaker did report that this tactic has resulted in students finding something that they’re good at and continuing on to be successful in her AP class.  That, I think, is a real victory and something to be celebrated so I’m a little torn.  It’s possible that faced with low enrollment and a lack of strong students I would do the same thing.

A common theme in the talk was “let students do what they want to do so you don’t lose them.”  The course she described seemed like everything but the kitchen sink and heavy on the tools — Visual Basic, Java, Scratch, Alice, Gamemaker… my head was spinning just thinking about it!  Where I tend to opt for structured play and predictability, she really opens things up for students to experiment.  It’s a matter of philosophy and I wish I could go see how things play out in her classroom.

One thing I really appreciated from this talk was getting some good reminders about where teenagers are in their development while they’re taking our courses.  They’re identity-building and striving to find areas they’re successful in so we can have a very powerful effect by providing them with experiences that reinforce their sense of self.

Emmanuel Schanzer’s talk on Functional Videogame Programming was the day’s discovery and I’m glad Michelle Hutton encouraged me to see it.  Emmanuel’s project, Bootstrap, is a full curriculum for using Scheme to bolster algebra learning.  I think I’m going to ruminate on this one and write about it later.

Digitizing The World

The last session I attended was by two teachers from CSTA’s board of directors — current president Michelle Hutton and past president Robb Cutler.  They presented extensions on a cool CS Unplugged activity on image representation.  Michelle’s middle school girls “digitized” color images using graph paper and a color key.  They discussed different algorithms for choosing the color to put in one square and changing the grid size allowed them to discuss tradeoffs between storage space and fidelity.  I like it.  Then, they extended the exercise further by using points to digitally represent 3D objects.  Robb wrote a tool to interpret simple formatted text files and display the objects or scenes so they can be interacted with.  Michelle had her students represent Lego shapes and their classroom.  In a blog post about the exercise, she recounted one student’s inability to believe in her own success — spacial orientation exercises are generally more difficult for we ladies.

I liked their idea of giving “programming-like experiences.”  I’ll have to see whether there’s a way I can adapt the activity or something like it for my high schoolers.  I was also very impressed that Robb was modifying the tool and the text file’s syntax as the girls requested features.  Their requests ranged from function-like syntax (reusable blocks) to naming the tool after them.  Participating in this “client” way must definitely have given the girls a sense of the power of programming and I’d like to see whether I can replicate that experience somehow.

Megan Smith of Google.org

Our closing keynote was by Megan Smith, in charge of Google.org.  She discussed .org initiatives including Flu TrendsRechargeITClean Energy 2030, and PowerMeter and tied those nicely to generating excitement in our students about computer science.  She’s an excellent speaker and closed the day well.  Valerie Barr, an inspirational instructor who has revamped the CS1 courses at Union College, mentioned that Google is hurting computer science by calling its employees “engineers.”  The same point was made to Marissa Mayer when she gave the keynote talk at SIGCSE in 2008.  Megan had a good response but I now read that she’s not a computer scientist at all but a mechanical engineer!  The problem may be partly on the computer science side… we still haven’t defined our field very well.  Engineering brings to mind creativity, construction, collaboration and even I’m not sure what CS should make me think of.

Overall, a positive, inspirational day leaving me with lots of food for thought and wishing I could have spent more time with so many people I admire and enjoy speaking with.

5 Responses leave one →
  1. Cammie Wilson permalink
    July 17, 2010

    Thank you very much for attending my session. I should have been more clear about my target audience – I know that the highly motivated students will find computer science on their own, I was talking about a whole new pool of potential computer scientists, many of whom aren’t introduced to CS until college. For example, several of my contributors skated through high school but are working in industry. The negative behaviors that I mentioned are also on the list of identification characteristics of gifted and talented students. I should have added some information about the RTI process and identification of GT. Again thank you for your comments and I apologize for being vague.

    • Hélène Martin permalink*
      July 17, 2010

      Hi Cammie,

      I hope I was clear that I did really enjoy the session and took many important things from it!

      My reason for teaching K-12 CS is to try to have an impact on the types of people in the computing industry. I have a CS degree and there are lots of aspects of industry jobs I would love but at the same time there are significant things I’d like to see changed about the type of workforce — greater diversity, more social behavior, etc. It’s only from that perspective that I was a little bit discouraged to think the students you were describing are the ones to target. It goes against the battle I’m trying to fight, but that doesn’t mean that it’s everyone’s battle or even a worthy one go to for!

      Thanks for presenting!

Trackbacks and Pingbacks

  1. Blog Post: Interesting Links July 19th 2010 | IT.beta
  2. TeachScheme Workshop at Brown University | Hélène Martin
  3. Interesting Links July 19th 2010

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS