Pixel Spreadsheet in a Media Computation class: Exposing data abstraction with Excel

July 24, 2012 at 1:36 am 9 comments

I mentioned awhile ago that some undergraduates built for me a new tool for converting from images to spreadsheets, and back again.  It allows us to do image manipulations via spreadsheet tools like Excel.  More importantly, it exposes the data abstractions in picture files (turning JPEGs into columns of x,y and RGB), and makes the lower level data malleable.

I’m using this tool in the Media Computation course that I’m teaching this summer.  Normally, CS1315 (the course I’m teaching) includes labs on Word, Excel, and Powerpoint, but there’s no sense of “lab” in these compressed courses.  And I bet that most of my students know a lot about Office applications already.  So I asked them at the start of class: What did they want to learn about Office applications?  Several students said that they’d like to learn to use formulas in interesting ways in Excel.

I’ve come up with a homework assignment where students do Media Computation using unusual Excel formulas (e.g., using IF, AND, and COUNTIF).  I lectured on Excel on Thursday in support of this assignment, and it was rough.  Things that I had worked out in Windows Excel failed or worked differently when doing a live coding session in MacOS Excel (e.g., the FREQUENCY function worked differently, or not at all — hard to tell).  Fortunately, we figured it out, but I got a new appreciation of how non-portable the edge of Excel functions can be.

My students are working on this assignment this week, and I’ll let you know how it goes.  Based on the questions I’m getting already, it’s challenging for the students.  Excel functions are hidden, invisible when you look at a spreadsheet until you click on the right cell.  Much of how you do things in Excel, the process, is invisible from watching the screen, e.g., shift-clicking to select a range. So, they’re having a hard time discerning exactly how I did what I did in class.

Maybe they’re learning a greater appreciation for doing all this in Python, rather than Excel.

Entry filed under: Uncategorized. Tags: , , .

What would Constitute Evidence that Open Education is helping a Global Economy? Universities on the Defensive: What is it we do

9 Comments Add your own

  • 1. Barry Brown  |  July 24, 2012 at 1:43 am

    Do you create screencasts of your demos so the students can follow along at their own pace?

    Reply
    • 2. Mark Guzdial  |  July 24, 2012 at 3:54 am

      That’s really the only way to convey the process, isn’t it? Still, that only goes so far in showing what you’re doing with your hands, e.g., shift-clicking. It’s hard to make explicit enacted process.

      Reply
  • 3. gasstationwithoutpumps  |  July 24, 2012 at 10:47 am

    Excel is such a terrible programming language that it seems a shame to waste so much time on it. Te only good thing that can come of it is, as you say, “Maybe they’re learning a greater appreciation for doing all this in Python, rather than Excel.”

    I’m afraid, though, that many will just decide that programming is a perverse activity (since programming in Excel *is* perverse).

    Reply
  • […] students is my opportunity to try out new ideas (like worked examples with self-explanations and pixels in a spreadsheet) and inform my intuition about whether or not they might work.  It’s the first stage of […]

    Reply
  • 5. Gilbert  |  July 25, 2012 at 1:05 pm

    There are tools for Mac that will display key presses and mouse clicks etc. I’m sorry I can’t remember their names, but they were designed for giving tutorials, so I bet they would help out a ton.

    Reply
  • 6. 张佳伟  |  July 30, 2012 at 5:05 pm

    That’s cool! I am so glad to hear this software coming into use. Excel, in my opinion, is a great tool to learn how to apply different operations to a spreadsheet without having to know programming. Most of my engineering-major friends had a hard time with python/C, which they may never use again in the rest of life, and I think excel and other tools dealing with raw data would free non-CS students from heavy coding staffs. In fact, an engineer need not worry about how the program would read in and output the data, what concerns to them is only the final effect of such an operation on the data.

    I am thinking of adding a “batch converting” function to this converter, or a drag&drop convert function. Is that useful to students?

    p.s. The software to display key press in MacOS is named keycastr. It is build-in since 10.4 and downloadable from http://www.macupdate.com/app/mac/23072/keycastr/

    Reply
  • […] of several pieces I wrote here: About the worked examples that I’m trying out in Oxford, the PixelSpreadsheet, and contrasting the study abroad I’m teaching on and MOOCs.  I mention that I’m doing […]

    Reply
  • […] who has never used Photoshop or looked at a color chooser may have a harder time understanding hierarchy of data representations (e.g., red, green, and blue numbers inside a pixel, which is arranged in two dimensions to make up […]

    Reply
  • […]  The latest issue is on Computational Thinking and includes mentions of Media Computation and Pixel Spreadsheet, which was really exciting for […]

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackback this post  |  Subscribe to the comments via RSS Feed


Enter your email address to follow this blog and receive notifications of new posts by email.

Join 5,317 other followers

Feeds

Recent Posts

Blog Stats

  • 1,554,097 hits
July 2012
M T W T F S S
« Jun   Aug »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

CS Teaching Tips


%d bloggers like this: