A Fine Arts Degree in Computer Programming

The first thing I think we have to get out of the way is that programming and computer science are not the same thing. They are overlapping but clearly computer science is a lot more than just programming. Often times that means that programming doesn't get the respect that it deserves. To me programming has always been something special though.

As long as I have been programming (about 35 years now) a common, recurring, and never ending discussion though is how to categorize programming as a discipline. Is it:

  • A science (fully in computer science)

  • An engineering discipline (software engineering)

  • An art

  • A craft (close to art but not quite the same thing)

There are arguments for all of the above. Personally I don't think it is really a science though it is clearly dependent on science and science is dependent on it. I wish it were engineering but the engineering training in me believes that the lack of reliability in software today precludes us saying that we've made it there yet.

I am between an art and a craft. To me art creates something beautiful and requires a special talent. A craft requires some talent but training can do more for a lack of talent than it can with an art. It is with that argument in mind that I read a really interesting post by Joel Spolsky yesterday. In this post Joel makes a case for a BFA (Bachelor's in Fine Arts) in Software Development.

The real problem is that these schools are not doing anything positive to attract the kids who are really interesting in programming, not computer science. I think the solution would be to create a programming-intensive BFA in Software Development--a Julliard for programmers. Such a program would consist of a practical studio requirement developing significant works of software on teams with very experienced teachers, with a sprinkling of liberal arts classes for balance. It would be a huge magnet to the talented high school kids who love programming, but can't get excited about proving theorums.

It is an interesting idea. I can hear people yelling "but that is just a glorified trade school" but I don't think that is fair. I think that there is a real art (and a touch of science and engineering) in creating outstanding software. Real trade schools focus on the tools of the hour much more than the concepts of all time. A BFA program could, should and probably would spend a lot of time on concepts.

I wonder if Neumont University's program is like this? In any case it would be interesting to see a mainstream college/university adopt the BFA idea. What sort of interesting projects would they produce? As Joel points out universities used to be known for cool and important programming projects but we don't see much of that anymore. And that I think is a sad thing.

Comments (9)

  1. Hmm… Interesting idea. I wonder if my case is an example of this, ie, a Fine Arts graduate who’s now a programmer for nine years. And I’m definitely moving more and more in favor of the idea that programming is more of an art than a science.

  2. Brandon says:

    I totally agree that there should be a BFA in Programming. Programming is an art with a scientific (logical) background. I have always heard that musicians make some of the best programmers because of their ability to apply an artistic spin to their code and their understanding of music (hence math and logic).

  3. Ben Chun says:

    How is this "art" different from software engineering with an emphasis on applications?  Or is the function of the software being developed specifically artistic?  There seem to be a number of graduate programs focused on the intersection between design, information visualization, and programming (ACG, ITP, etc).  Were you imagining an undergraduate version of this sort of thing?  Or just advocating that software engineering be taught with a greater focus on elegance and applications as opposed to proof?

  4. AlfredTh says:

    Ben, you ask good questions and I don’t have a good answer myself. I would be happy is more programs just taught with some focus on elegance and something about code "looking good." I use looking in the sense of having some appeal to the mind for the way it is structured and logical and not thrown together.

  5. Luke Gedeon says:

    I think of programming more as a craft because the result, if done correctly, is both functional and beautiful instead of something just to be seen or heard.

  6. SoCal Sam says:

    This is an indication of the change in the student needs at corporations, other than Aerospace corporations.  Students in the US have to contend with a curriculum that is chock full of "General Education" courses that serve little or no purpose in the modern world.  To have a student waste time with a language like scheme, for most students is a waste of time.  Corporations definitely have needs, hobbyists have needs, lifelong learners have needs.  The need is object oriented languages that use libraries.  The amount of actual work out there that uses non-object oriented languages is quite small.

  7. Nifty Fifty says:

    Alfred Thompson discusses the concept of a Bachelor of Arts, Computer Science, and I have been working

  8. It’s often amazing what you find while you are looking for something else. Last week while following

Skip to main content