« 2010 CSIT Symposium | Main | Students Benefit from Programming Contests »

More Attendee Reflections on CS&IT

By Hélène Martin

This blog piece is posted with the permission of Hélène Martin who posted it it first on her blog http://www.helenemartin.com/.

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. Its 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 Kolling 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 Programmingwas 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 Trends, RechargeIT, Clean 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 as 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.

Hélène Martin
CS&IT Attendee


it is really great to read your post.Thanks for sharing this informative post.

Next year I will be there

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)