In general, there's a certain amount of tedium in any endeavor. During my PhD, I did some work on synthesis--it was fun to try to figure out how to realize some properties in a new material--to try to figure out synthesis challenges--the actual sitting down and grinding with a mortar and pestle was meditative, but tedious. The same thing happens with coding--there are parts that are exciting, but there's (at least to me) a certain tedium that comes with testing, engineering, etc (if I want to write code that other people use, instead of one-off pieces for my own use). Even on the analysis side, there are exciting bits where I try to see if I understand why a material has a given set of properties, but there's a certain tedium in writing portions of the analysis code--the question is whether or not the exciting bits outweigh the tedious ones...One of my students (undergrad) was a double major between physics and computer engineering and has decided that he wants to go on to do robotics in grad. school--physics wasn't fun for him--another one went on to grad. school in physics--you just have to see what you have fun with--not just with classes, but in the actual doing. If you decide to stick it out and pass prelims/first year courses and get your masters and are still not happy, then definitely get out--opportunity costs will outweigh your sunk costs ;> At your university, do the theorists give trial projects? In terms of just variety and fun, have you looked at any of Nigel Goldenfeld's work? http://guava.physics.uiuc.edu/
If you do decide to leave (and it seems like that's the direction you're going), then I suggest that you get an offer somewhere, spend some time working on your own project, or taking some CS courses before leaving...
Good luck!