I read in passing the comment "what if software maintenance was taught the way sculpture is taught". To my dismay nothing more was said in the article about how this might occur. I turned to my friends and colleagues and asked for memories on the pedagogy of teaching sculpture. One person responded "pedagogically? WTH?" which reminded me that not *all* of my acquaintances understand educator-speak. After rephrasing the question to let the confused know that what I wanted was recollections of teaching strategies in a sculpture class, the responses came pouring in. Unfortunately, most of them did not take this deep and meaningful question in the serious light I had in mind.
However, one person said something to this effect:
"take a chunk of something and remove everything that doesn't look like a horse and you will have a horse".
That was enough to get me thinking about software development and maintenance in a new light. Perhaps a bit less deeply and meaningfully than originally intended. But one must work with what one has. Kind of like creating a sculpture.
Software maintenance a la sculpture would necessitate a top down approach. You have a body of code, thousands and thousands of lines of code (let's say we are working on the scale of Michelangelo's David as opposed to a Chinese tea cup). But in this case, years of helpful modifications have led to a few too many modules and unused and obscure Objects (reflecting my basic dislike of Java). Imagine David with an extra arm or long hair in a pony tail. Perhaps a pair of socks artfully turned down at the ankle. (I'm not going to photoshop this into reality but I invite you to do so and send it my way)
Removing the extra limb (unused modules) shouldn't be too hard - Delete Delete Delete. The primary tricky spot would be making sure that any dead end invocations were eliminated. We wouldn't want David to be left with an extra shoulder beckoning for that third arm to be added back on. The pony tail would be a bit trickier because we don't want to leave anyone with the aftereffects of a bad hair day, but the overall process would be the same.
Removing the socks (obscure Objects) is perhaps the biggest challenge. We don't want to render the feet unable to support the body, nor do we want to damage the elegance of David's stance. Hence, a careful examination of all the connections (direct, indirect) between Objects and identification of inheritance structures is just the beginning. Expert designers and coders with an eye for fine detail will need to be called in.
In the end: Voila! Beautiful, aesthetically pleasing code art of the highest quality. We may be on to something here.
Computing and people who work with computers are not the nerdy and negative images often portrayed in the media. As a computer scientist, educator and project evaluator with my hands and feet in many fields I live these realities every day. I am like the kid who never stops asking “why?” In this blog, I share my questions and curiosity about the interdisciplinary role of computing with a special concern for how computing can make the world a better place.
Showing posts with label Fine Arts. Show all posts
Showing posts with label Fine Arts. Show all posts
Friday, July 6, 2012
Sculpting Code to Create and Retain the Art
Labels:
art,
artwork,
Fine Arts,
interdisciplinary computing,
programming
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.
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.
Labels:
algorithms,
artwork,
computing education,
creativity,
Fiber Arts,
Fine Arts,
interdisciplinary computing
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?
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?
Labels:
Architecture,
business,
computing education,
Computing Education Research,
Fine Arts,
HCI,
interdisciplinary computing,
Studio Based Learning
Subscribe to:
Posts (Atom)

