I graduated about 5 years ago from a top 10 college in physics. My grades were alright but because of a variety of factors, I decided not to go into a related job. But recently I feel like I've reached a crossroads in my life and I want to challenge myself and give myself an fulfilling (and decently-paid) career. So I've decided I want to go back to school, most likely first to get a Masters and then a PhD (I doubt I could get accepted into a good PhD program in my current situation), with an ultimate goal of a research position (academic or otherwise). Regardless of what specifically I'm researching, I want to be on the cutting edge. Naturally there are many areas of physics and engineering that I find fascinating and am considering studying. But what I've been really interested in lately is computer science, specifically artificial intelligence, graphics and computer vision, and imagine I would really love this kind of stuff as a research career. The thing is, I don't really have any background in computer science beyond being generally computer-savvy and somewhat of a linux hobbyist for a few years (now getting back into it). So, although ultimately I have to answer this for myself, I guess what I'm asking is, should I take advantage of my physics background and go for an engineering degree, or should I go with what seems really neat and cool and pursue computer science? At 27 years old with little education in computer science, would I be hopelessly behind? Or, perhaps what sounds the most interesting to me: are there any programs that take some branch of engineering - say for example nanotech - and combine it with strong computer science coursework? Some kind of program where, when I graduated it, I would be reasonably qualified to enter a PhD program in either computer science or engineering? Thanks in advance for any thoughts.