If I were starting over as an undergrad today, I would strongly consider studying Computer Science -- possibly double-majoring with something like Economics. Both fields are highly versitile and have good employment prospects. Done in the right way, they both can also be a ton of fun. That kind of background would come in particularly handy now as I am trying to learn how to better make agent-based models in preparation for dissertation work. It would also be a great background for several areas of law including intellectual property and cyber-crime.
Grey Matters has an excellent write-up about the fun of computer science:
Computer Science. This is one of the worst possible names you could give it. Imagine if, instead of calling it astronomy, we called it Telescope Science. The name focuses too much on the tool, and not at all on the true study at hand.
Computer science is the study of of the theoretical foundations of information and computation and their implementation and application in computer systems. In this definition, note that the computer system comes last, and that it is truly about the implementation and application of the information itself.
But, surely you would need computers to teach computer science, wouldn't you? The people at Computer Science Unplugged don't think so! To get an idea of how this is done, check out one of their clips I posted over in Grey Matters Videos, or their other video clips, for that matter. They even have free files explaining these concepts in full detail. They do have a complete course available, as well.
Much like this site's focus on memory and mental math techniques in a fun and entertaining manner, computer science can be (and even should be) fun! There is even a magazine called Computer Science For Fun, or cs4fn for short. You can download the all the issues of cs4fn here. Among the articles of particular interest to Grey Matters readers in the first issue are the mathemagic section and the article that may best you at tic-tac-toe!
The fun aspect of computer science isn't a new phenomenon, either. Check out the Best of Creative Computing, vols. 1, 2 and 3. Creative Computing was a magazine from the 1970s, a computing era before personal computers that gave birth to some of the largest computer companies still in existence. Above and beyond the articles themselves, you really get a feel for what people like Steve Jobs and Bill Gates were growing up with in the 70's computer scene. The predictions about where computer science will go in the 1980's and beyond are a fascinating read in retrospect, as well.
Even if you're not normally interested in computer science, I recommend at least taking a casual glance through each of these references. You may even wind up with a surprising new interest, or maybe just learn one new thing you didn't know before.
In engineering school, I did a fair bit of technical/analytical programming, including taking a numerical methods course and using these skills to develop a Monte Carlo simulation of stress-corrosion cracking in steam turbines on my first job out of school. I wish I had kept up with learning how to program better over the years. When I actually get a program to work the way I want, it actually can be quite fun.
On a related topic, here is a good post on how to learn to program in 10 years. (HT Curious Cat) After taking a couple courses in Java last summer, I appreciate what this post has to say and the time involved to get really good at this.