I'm currently taking a computer science course (learning Java at the moment) and I'm failing miserably. I know the basics (how to make classes, basic commands, etc) but I'm struggling to keep up with what's going on.
I do have the Head First Java book that the teacher recommended but until now I have not finished it (read through only the 2nd chapter).
Switching out is not an option since it is my major.
thanks everyone.
Coding is VERY hard for me. Partially because I dislike it and because I always had crappy math teachers in school who didn't give a damn if I was doing well or not, and just passed me to the next grade with a 65%. I went into programming, because tech support, which I love to do doesn't pay, and networking/server administration still doesn't pay very well, and requires a ton of annoying certifications, after which, snobs still turn away from you because you have no "relevant experience", and even then programming skills are often thrown into the mix as part of the job requirement.
When I just started, I hardly passed my Visual Basic and Java classes, (really should have gotten an F-), but a few things seem to have clicked, which helped me with my "intro to programming" class under a masters program, which used Javascript to introduce programming to people who never programmed before... The professor was a C# developer who recently read a Javascript book so he could teach the class. Needless to say, we were doing Fibonacci, multidimentional arrays, inheritance and recursion in no time, with complete disregard for anyone in the class who didn't understand the material. ; )
I hardly passed with a "B-", but again, something must have clicked along the way, and now I can say, I know Javascript pretty well, up-to above mentioned topics where I become completely lost. Now I am about to take an "Advanced Web and Application Development" class which will do more Javascript and introduce PHP. How in the hell I'm going to pass, I have no friggin' clue, but I did it before, and I'll do it again! And this time I'm aiming for at least a B+.
I think the important thing is not to give up and "keep pluggin' away at it", as my program director likes to say all the time. The phrase "if a horse is dead, - dismount" simply doesn't exist for me. I am not turning back now, when I put in so much time, effort and money into this thing. There is no way back for me. That is a very strong motivator, and should be one for you too, unless you want to struggle paying for your apartment and a car for the rest of your life and settle for bad dates ; )
Also, like a lot of people already said, when you suck in any subject, it is first and foremost, because you didn't put enough time and effort into it, and only after that other reasons/factors come into play. I get really bored reading huge books and doing examples and constantly feel like I need to get up and go do something else. I start checking emails, going on facebook, and before you know it, I'm already playing a game, or even washing dishes, vacuuming the floor or doing pushups - anything to avoid doing more programming!
But lately I have been more successful at forcing myself to read more and program more, and already I am doing MUCH better. Even an hour, goes a very long way! I sat all evening yesterday and wrote very nice code from the book which shows the current date on the website and automatically counts down to new years celebration. It's a beautiful thing to sit there and see how nicely everything works! I feel good knowing I did this!
You CAN do this. Just believe in yourself, and keep pluggin' away at it!