Feed Sign in with OpenID OpenID

Simon Willison’s Weblog

Master of Fine Arts in Software

Richard P. Gabriel’s proposal for a Master of Fine Arts in Software looks like it’s getting some serious consideration from the University of Illinois (via Sam Buchanan). The idea of programming as a creative art has been around for a long time, so teaching it in this way is in some ways a logical progression. Personally I’m intrigued by the focus on reading other people’s code—“the work of masters”. This is something that been sadly lacking in my BSc course at Bath. Aaron Swartz started a collection of links to Quality Software last year, but other than that I don’t know of any resources dedicated to highlighting “classic” code that deserves to be studied.

This is Master of Fine Arts in Software by Simon Willison, posted on 3rd October 2003.

View blog reactions

Next: Magazine styles in CSS

Previous: mod_python introduction

6 comments

  1. It's about time major institutions started recognizing that great programming is an art. I have already been preaching this for some time.

    Scrivs - 4th October 2003 00:43 - #

  2. I disagree. The thing about art is that every piece should be different. In programming duplicability of code (or rather the ability to use the same code for different works) is the goal.

    That said, it's not an engineering discipline either. It's closer to maths than anything else, imho. It's all about problem solving.

    Lach - 4th October 2003 03:02 - #

  3. Exactly my point in that if you are reusing a well-crafted piece code is that not art? Most artists steal and duplicate from others to reach there masterpieces. Picasso said the same thing along those lines I believe. Just because something is reused does not mean the original is not a piece of art. Develop something truly worthwhile takes time and design and that to me is art. Good code that can be reused by others to me then can be considered an art.

    Scrivs - 4th October 2003 06:25 - #

  4. Whether or not to call the creative aspects of programming art is perhaps less important than acknowledging the creativity of the process. A Master of Fine Arts program focuses on the process of working and reworking through a solution to a problem, improving it through workshopping and editing, as well as studying great works of art to see how they work, to understand the craft. This focus on the creative process is what's compelling to me about an MFA in Software, because it's missing from the education of the computer science grads I know and work with. And because I think I'd learn a lot.

    Read Richard Gabriel's proposal again: he's not just talking about coding, but also "software design, user interface design, user-centered design, humane design, and in general the practice which is creating the entirety of a software system including its human interactions, what to design in the first place, and the techniques for constructing such a thing." All aspects of the craft, none to be ignored.

    Sam - 4th October 2003 13:37 - #

  5. Nice to see. I'm about three years out from looking for a good master's program, and I'm uncertain which direction I want to go.

    I have interests in software development, but I've not been to a school that teachs CS/SE well. Most schools I've seen either teach straight math/computer engineering, or they teach you Java and call you a developer. I'm not in a position to move for completion of my bachelor's but MIT's SICP interested me very much.

    I've recently heard about a new masters in Software Engineering that is supposed to be a little more realistic at UT

    Now you've given me another one to think about.

    At the other side of my interest, I could go for psychology, or anthropology, or maybe political science. I'm interested in understanding better how society lives and is influenced. I really like ESR's writing in Cathedral and the Bazaar. It strikes me as the kind of perspective and analysis which is important in bridging the techno-geek/Main Street gap. And which I've seen very little of.

    It's a good thing I've got some time to decide. I'm sure that how the offshoring/globalization bit plays out will influence my decision.

    Jeremy Dunck - 4th October 2003 16:11 - #

  6. Actually the C2 wiki has a couple of collections of links to code worth studying. http://c2.com/cgi/wiki?ProgramsToRead and http://c2.com/cgi/wiki?GreatProgramsToRead although the latter is rather sparse at the moment.

    ade - 4th October 2003 17:51 - #

Comments are closed.

Previously hosted at http://simon.incutio.com/archive/2003/10/03/mfaInSoftware

A django site