Could use some advice on programming career

I am new to this website and have some questions about programming as a career. I feel that this may be a long post, so I don't particularly expect anyone to read it through to the end; although if you do and happen to possess some helpful advice, I would genuinely appreciate it.

Here's my story.

I am now 30 years old. I started college a few years ago at the local community college in my town. Last May, I completed my associates degree in Information technology, graduating with honors. I enrolled last fall at a state university, majoring in Computer Science, and am finishing up my second semester. By the time I receive my bachelors degree, I will be 32, almost 33. I suppose my first question is-Am I too old to seriously enter field like programming that I should have entered a decade ago, when I was young and too foolish to go to college?

Even if I am not too old, I'm beginning to think that I'm not cut out for programming. I started last semester with such high hopes. I was pumped and ready to learn how to code. I've always wanted to program video games, but now I'm ready to drop computer gaming as my minor. I had a horrible class this semester about game programming in direct3d. I've hated the entire semester and I am probably going to end up with a D, if I pass it at all. As far as my other programming classes have gone: last semester I received an A in my Intro to Programming class, and it only took me a few hours at most to complete any programming task I was given. This semester I have Data Structures, and it's been all I can do just to keep up. It takes me countless hours to complete an assignment, something that I feel should be easy and should only take an hour or so. I am to the point where I dread my professor posting a new assignment, and dread even more the grade that will be posted. So far in my classes we have only covered C++. I'm not sure if this is normal.

I feel like a complete and total idiot. I mean, I'm going from graduating with honors to being in danger of failing a class in the blink of an eye. And it's not as if I'm not trying. I feel like I spend every waking moment trying to figure these classes out to no avail. Fundamentally, I just don't get it. My enthusiasm has been replaced with dread, and I'm scared to death of what next semester will bring. Theoretically, I could probably just squeak by and get the CS degree, but what good would that do me if I don't possess the knowledge to even get a job? It's too late to change my major. I've attended college for long enough that I wouldn't be eligible for financial aid for long enough to start a new degree path. I have a year and a half to two years left to graduate, depending on how many classes I take per semester. At this point, I feel that it's sink or swim, and I'm definitely sinking.

I've been on these forums before, not as a poster but more of a lurker, seeking help from posts others have made. I've seen people ask questions and post their code for assistance, and I think to myself every time...wow, I can't even get that far.

I recently landed an entry level job at Apple doing technical support, so I suppose I'm not completely stupid. I'm just really frustrated at my inability to grasp programming. I feel like I've wasted a lot of time and financial resources on something that I'm never going to understand no matter how fervently I want to. My fiancé persists in telling me, "Oh, you're really smart, you'll get it eventually." And I tell her, no, I don't think I will. I am really, really bad at this.

So, for anyone that's managed to read this far-any thoughts, ideas, words of wisdom? Has anyone in my ever been in my position, ready to set fire to all their programming books and throw their computer out the window, when suddenly the light clicked on and you're like....oh, I get it now! Or am I as hopelessly lost and SOL as I feel? A wink in the right direction would be greatly appreciated at this point and somewhat of a miracle. If not, thanks for reading my wall of text anyway.

You are just experiencing the same thing we have. It's never about how many sleepless nights but the what you can show at the end of it all. The fact that you have a passion for something means that you might after all, be cut out for it. Computer science unlike other courses demands everything from you and if you are not ready to give it your all, you might as well quit.