Thursday, August 25, 2011

Things to Think With: Crochet Hyperbolic Planes and Computing

Do you sew? Knit? Weave? Crochet? Personally, I have rarely ventured beyond replacing buttons on shirts, but Sarah Kuhn, Professor in the Psychology Department at the University of Massachusetts Lowell, taught herself to crochet after being inspired to create hyperbolic planes by Daina Taimina's book "Crocheting Adventures with Hyperbolic Planes".

Sarah has been working for years at the intersection of art, sociology, computing and engineering education. This latest project is part of a new research area, part of her evolving investigation of ways to bring mathematics and computational concepts to life. When she first saw some of these crocheted hyperbolic planes she asked herself: are they more than models? Can these objects be used to discover things? To her, that is a key point for a successful learning environment.

The answer is yes. Creating a hyperbolic plane crochet 'object' (the best word I can think of, although it feels insufficient) provides opportunities to explore algorithms, patterns, emergent properties, and programming - for starters. How?

I asked Sarah to explain how it all works, and asked her to assume she was speaking to a completely clueless crocheter (as I am, having never even touched a pair of needles). She patiently stepped me through the "single crochet stitch", the basic stitch in crochet. She explained the ways this stitch can be used, with no other more complex stitches, to create an object such as the gray spherical object pictured above or the colorful object below. The process is indeed algorithmic. You start with a circle out of yarn and move outwards in a spiral one stitch at a time. There is also something called "increasing". I won't try to replicate the explanation for fear of completely butchering it, but suffice it to say, every creation is different because of variables (computing concept!) including how often you increase, the type of yarn, the quality of the yarn, the color, and the composition of the yarn.

Crochet hyperbolic planes provide a simple entry into the worlds of mathematics, computing, and analytical thinking in general. They are easy to make, fun, and small changes result in sometimes surprising outcomes. A little crochet tweak here and you have a different form of ruffle; another crochet tweak and the shape shifts. Another topic: Design patterns and the implementation decisions they lead to.

Highly portable, crochet hyperbolic planes are excellent conversation starters. Sarah summarizes a typical conversation:

Scene: The doctor's office. Personae Dramatae: Sarah in chair, Person Nearby in chair (perhaps bored).
Person Nearby: "What is that?"
Sarah: "This is a hyperbolic plane"
Person: "What's that?"
Sarah: "It is math"
Person: "Really? That's math! If someone had presented that to me as math in high school I would have liked it".
[Conversation continues....]

Voila. An aesthetic entrance into the world of the formerly abstract. More complex concepts wait to be tackled by progressing to a discussion of weaving; weaving has far greater complexity than crochet and an interesting history that we know includes the computational (ahem...Jacquard Loom?).

Fiber arts (which encompass sewing, knitting, weaving, crochet) cross cultural, age, geographic and social boundaries. In some societies they are associated with women's activities, in other societies with men's activities. As Sarah says "a STEM opportunity hiding in plain sight". Not surprisingly, she is developing several ambitious project ideas that will integrate fiber arts into a variety of classes and programs with the explicit goal of encouraging interest in STEM disciplines - computing included. 

Sign me up. I wanted to reach out and grab one of these crocheted hyperbolic planes the moment I saw their pictures. Wouldn't it be fascinating and fun to explore the world of computing while creating one's own personal weird masterpieces of yarn? Stepping stones to complexity. Sarah Kuhn is demonstrating that the arts and computing have a lot in common.

Tuesday, August 23, 2011

Internet Voting Revisited: It Could Go Viral

Quite some time ago I wrote a post on internet voting and it generated quite a bit of impassioned response, in great part on some of the computing discussion groups I cross-posted to. Computer scientists have some very strong opinions on internet voting.

Whatever you think of it personally or technologically, it looks like internet voting is coming. There is a really interesting new grassroots movement afoot. It reminds me (and probably will you too) of how the internet was first used to make one primary political campaign go viral (Howard Dean anyone?) - and now virtually all serious politicians recognize that the internet cannot be ignored if they want to win an election. Some use it more effectively than others, but no one brushes it off anymore as only for the "fringe".

There is a group called Americans Elect 2012 that is setting up an online voting system for the 2012 presidential primary so that people across the United States can pick the issues that matter to them and the people they wish to nominate. I heard an interview last night on the PBS NewsHour with 2 of the principals and it is very interesting - non partisan, and sounds like they are going full steam ahead with harnessing computing and the internet to get around the gridlock of our current political election system.

The group already has a presence in all 50 states and is working through the complex process, that varies state by state, of when and how they are legally permitted to operate.

Their system is in Beta, and you can check it out. The site I'm about to link you to includes, among other things, interview snippets with people from 5 states - people on the streets.

Technologically, what is cool about this is that it could very well work. They have apparently thought out how to harness the internet and to address what people are really upset about (according to national polls that were discussed on the news spot last night). The organization is not letting itself get tangled up in theoretical or philosophical or technical discussions about whether or not internet based voting is feasible, or a good idea - they are doing it.

Here they are: Americans Elect 2012

If this effort takes off, it could radically change politics as we know it. What do you think????

Thursday, August 18, 2011

Science is Rock and Roll

I almost missed this, by not keeping up with NPR Science Friday. Last week there was a short spot on ... get this... rock and roll musicians plugging science. And not just on an NPR blurb but they are doing it on TV in order to hit a huge audience. The web page (below) says in big letters on it: "Who is Your Favorite Geek"? and I don't know how many times I heard, to the sound of background music "My Robot is Better Than Your Robot". And yes they say "programming" is a cool thing - science includes computing for sure and it gets you can't help it.

This is so cool, I shall say no more, but send you to this web site to check it out yourself. Woo hoo!

Science is Rock and Roll

Tuesday, August 9, 2011

Computing and Studio Based Design in Industry, Fine Arts and Architecture

One of today's most food for thought-ish ideas at the ICER conference (from my pov) started with the presentation of a paper by Chris Hundhausen from Washington State University entitled "Prototype Walkthrough: A Studio-Based Learning Activity for Human-Computer Interaction Courses" (HCI). Chris pointed out that studio models have been used for years in Architecture (of buildings and other structures) and Fine Art. The idea of experimenting with a studio model in computing courses is not in itself new. Studio courses have been tried in lower division computing courses and a few other places in the curriculum.

What really got my attention was when Chris, who worked for a few years at Microsoft Corporation as a Useability Engineer, claimed that industry uses a design model very much like the studio model and thus there was an added reason to teach computing in this way. His belief is that we should be able to take ideas from Architecture and Fine Arts pedagogy and apply them to the design phases of HCI pedagogy. My ears perked up. Another possible bridge point between industry and academia (the topic of several of my recent posts)? Architecture, Fine Art, Computing, Hi-tech industry...?

Chris broke down his study into great detail about the stages of design and how stakeholders talk to one another about design and several times referred back to industry practices.Very interesting and well grounded in details that sounded like they came straight from his industry experience.

Someone I was sitting with at my table referred me to another member of the audience who had experience in the studio model and a significant knowledge of design and Architecture and so, for another perspective, I went and spoke with this person. I asked her for ideas about how the pedagogical studio model techniques could be transferred from Architecture and/or Fine Arts to computing. To my surprise she told me in no uncertain terms that the studio model would *not* work in computing. She told me that the way a true studio model works is that the classroom is handed over to a professional who brings in a real project s/he is working on and the students work on it under the direction of the professional. The inverse I note, of sending students out to a client on a service project. In the studio model, according to my conversant, the professional comes to the students and the professor steps out of the way.

She claims this model will not work in computing because the cultures are very different between Archtecture and Fine Arts and that "you can't stand around a compiler and critique it". Is this true?

What do you think? A very thought provoking question. If yes, how? If not, why not?

Chris appears to believe (I'm doing some extrapolation here) that you can - or at least that there are significant fundamental tenets of the professional studio model that can be used in the design of HCI software.

Stretch your mind - can you bring a professional from the high tech industry into the classroom with a real project that they are working on and have them lead the class in a studio model inspired design process?

Monday, August 8, 2011

Programming, Body Language and Poetry

I had the most interesting discussion (here at the ICER conference) today with a doctoral student from the University of California Berkeley: Colleen Lewis. She gave an overview of her dissertation work called: "Integrating Prior Knowledge Into Pedagogy". As part of her work Colleen provides students with code and asks them to talk aloud about the code. Colleen believes that successful students are integrating non programming knowledge from other fields into their programming. Her mention of the humanities got my attention so I went over and spoke with her and asked for some detailed examples of what she has observed.

Critical Reading Skills. Most of you have likely been involved in discussions of code or sat in when someone was describing code. Colleen told me she hears students not simply saying what the line of code is or what it does, but explaining it in terms of what it means in a greater context. She told me when she listens to successful students she hears a story. She used the words "narration" or "narrative" repeatedly. Although she didn't say it in so many words, what I was hearing / interpreting from Colleen's narrative was that as she listens to successful students she hears a story much like the one I am writing here. Not just a sequence of statements, or an algorithmic description, but a more holistic contextualized explanation. Interesting.....Have you ever thought about code as a story?

Gestures and Body Language. Colleen took American Sign Language in college and perhaps this is what disposed her to notice that when she asks students to trace code aloud, some students actively use their body as part of the description. For example they might speak like this: "n equals 1; ok, now n equals 2; now n equals three..." while using their arms to show the movement. Colleen demonstrated by starting with her right arm out, palm up on "n equals 1", then placed her left arm inside her right arm, palm up, then moved her right arm inside her left arm, then the left inside the right again, while explaining "they are saying and showing: 'the code moves from here [right arm/palm], to here [left arm/palm] to here [right arm/palm] to here [left arm/palm]' ". These students not only narrate with words, they narrate with physical movement.

The discussion of movement caused us to look up. There were several of us standing together; Colleen and I were in motion and two others were standing, listening, with arms crossed. We then observed how some people are more physically demonstrative than others. Colleen and I for example use our bodies a lot (even while furiously taking notes, I was not standing still).  Two other people commented that they tend not to use their limbs as much when they talk...what might this mean for coding?

Watch people in action as they talk or listen - it is very interesting to tune into. Psychologists know about the messages body language sends - it isn't something we talk about as much in computing.

Poetry. This is where conferences are such wonderful synergistic experiences. I asked Colleen for yet another example and she started describing a process she observes where programming students read a challenging chunk of code, rephrase it in their head, re-read it, and re-read it, and think it through some more. At that moment another conference participant, Nanette Vielleux from Simmons College, spoke up to say that the process sounded like studying poetry when you are having trouble with a poem. She suggested that perhaps some techniques used to teach poetry could be used to teach programming. Now that is a fascinating idea.

I got an immediate visual of a page of code in a language I don't know well sitting next to a page of poetry from a writer whose style is alien to me (I often find poetry challenging). I have found that if I read poetry aloud several times and roll it around in my head I have a greater chance of making personal sense of it. If some students successfully use the same process with challenging Cool idea. I have no idea how poetry is "taught" in the classroom. Wouldn't it be interesting to apply selected poetry pedagogy to the study of existing code and see what happens?

Friday, August 5, 2011

Off to ICER - What Shall I Find?

Saturday I take a red-eye to Providence, Rhode Island (east coast USA) for the ICER conference. This is a small, intimate, very interesting conference focused on computing education research. The papers are generally quite interesting, have been through a blind peer review, and are eventually published in the ACM Digital Library.  There is a doctoral consortium to encourage up and coming researchers in the field. Quite a few years ago I was a participant in the doctoral consortium (several times) and I remember it fondly - although some of those faculty discussants did their best to politely but firmly pin us to the wall until we answered their questions!

There appears to be plenty of work being presented related to my professional work in assessment/evaluation and in learner misconceptions. Beyond looking at that work, this year I am more than ever interested in ferreting out any active research involving interdisciplinary and social issues in computing. So far, I see in the abstracts a lightening talk about work in the HFOSS Project (the Humanitarian FOSS Project: Building Free Open Source Software for Society).

None of the full length papers jump out at me just from the titles (I have not yet obtained access to them because of a s/w glitch) however I know that several of the authors are involved in socially relevant work and are quite innovative people.

I intend to go on the hunt and track down all the interesting work and incubating ideas I can find and report on them here.

Stay tuned!

Monday, August 1, 2011

Efforts on Behalf of K-12 CS Emphasize Interdisciplinary Nature of Computing

Speaking of innovation and social impact, it all starts young - what you learn as a child influences your lifelong interests and attitudes. We know that. That means that if we want computing to be used in creative, innovative, socially beneficial ways, then computer science has to become an integral part of the public education system. We need more of the types of people and organizations I periodically profile here who combine their personal passions with their profession to use computing for good.

In case you don't follow the news about the ongoing efforts to obtain inclusion of computer science in the K-12 science education core curriculum nationwide, I'd like to excerpt a few sections of a letter sent by the ACM, CSTA, CRA and NCWIT to the National Research Council (NRC) in response to NRC's draft release of "Framework for Science Education". This framework provides a strong policy statement about what K-12 students should study in high school and has a strong influence on curriculum development and priorities in high schools across the country. As you may well know, computer science has long been neglected, misinterpreted or misplaced in K-12 education. Those of you familiar with the tough battle being waged to obtain acknowledgement of the importance of studying computer science in high school know just how hard many people are working on this issue in Washington DC and elsewhere. The authors of the letter to the NRC state "We recommend the Framework for Science Education be amended to include computer science as a fifth major disciplinary area".

I cannot recap the whole story here, but I want to pull out some excerpts that make it clear how well the above authors understand the interdisciplinary and socially important nature of computer science. I was very glad to see these included in the letter to the NRC.  Brackets contain explanatory text added by me. Bolded text was added by me for emphasis.

"Taken together, the Framework and the CCSSI [Common Core State Standards Initiative] arguably represent the "core" of what students need to know in the science, technology, engineering and mathematics (STEM) fields. Considering the tremendous influence that computer science has on worldwide economic growth, as well as its effects on modern culture and innovation in all areas of science, it is troubling that neither of these standards-setting initiatives view computer science as a critical and necessary element of STEM education in the 21st Century"

".. computer a discipline that not only stands on its own, but also contributes innovation to all of them [mathematics, engineering and the sciences]".

"Ultimately, no other field is more central to the digital revolution that is sweeping commerce, society and all fields of science. And no other field will give students the critical computational problem solving knowledge and practices they will need to be college- or career- ready, regardless of their ultimate occupation."

"An engineer using a computer to design a bridge must understand how the maximum capacity estimates were computed and their reliability. An educated citizen using a voting machine or bidding in an eBay auction should have a basic understanding of the underlying algorithms supporting such conveniences, as well as the security and privacy issues that arise..."

"Computational approaches are essential to the discovery and understanding of the fundamental rules that govern a wide variety of systems - from how ants behave to how stock markets behave"

" science is increasingly driving discovery in all areas of science."

and here is the kicker:

"If the final Framework does not encourage students to study computer science or understand its core ideas, who will...lead the way to addressing the fundamental challenges we as a society are facing, such as chronic disease, an over-extended energy grid, and a struggling aviation system running on 1970s technologies?"

followed a bit later by:

"...the failure to recognize, define and support computer science as its own field and content area within STEM education will exacerbate an already growing workforce and innovation crisis..."

Computing is as important to society and has the power to benefit society in an incredibly powerful way as any other field someone could point to. In many cases more so. Many of us, especially in the computing field, "get it". 

  • A continuing question is: how can we help everyone else to "get it"?

Useful Link Not Already Listed:
The ACM response