i am a student in computer science department first year ,,,, i admit that i am not so good at programming is that because it needs more intellgient people and it was my fault at the beginning as i chose that field ????? i really wanna be a programmer so what i wanna ask about is what should i do so as to be a good programmer in the future ?????? what skills should i have ??? ,,,,, how should i develop myself and my way of thinking in programming??? ,,
hoping that u help me .....

well, become a programmer that makes apps or builds really powerful websites. you may not be good now, but you will be good later (your only a first year).

You can research the skills required but look into some apps and some ways of developing sites.

I found programming a lot like the game of bridge. The bidding conventions can be complex but at some point a switch gets thrown in your brain and you understand without having to consciously think about it. With programming, it just takes practice and perseverence to get to the point where you can concentrate on the creative process itself without having to worry about each little detail. Or if you drive a car, the actual driving process becomes automatic and you stop focusing on each little thing and concentrate on the big picture. That is easier to relate to if you are 30 and not in your teens. I hope that makes sense.

Suzy, the best way for you (and for any noob) is to solve concrete problems.
Without knowing algorithms & their fundamentals & dynamic programming & etc you'll be nobody as a specialist.
I'd recommend you, for this end, this Polish online contester: http://www.spoj.com/problems/classical/
(there is a whale of such contesters, I'm registered on ~5-8 other contesters).
My account on SPOJ.com is http://www.spoj.com/users/zzz Below you can see my "To do list" - this is
the problems which I tried to solve but could not (until now (btw, I'll be, in 1.5 months, 49 y.o.)).

Several years ago I even managed "to lure" into the above website Tim Peters, who is one of the main
developers of Python language, actually he is the right hand of Guido van Rossum (at least, he was).
His (Tim Peters') account on SPOJ.com is http://www.spoj.com/users/tesseract/
He is a true programming genius. Try to solve problem FAMILY, like he did.

Well, I haven't been programming a long time, but I have watched my self grow from struggling with things that now seem simple to making somewhat more complex applications.

My advise would be to start out simple then build up, don't try to learn everything at once. And have fun with it!

Good luck in your programming endevors! I'm sure you'll do great. :)

Really thank u all so much ,,, i appreciate your replies and your valuable advice ,,,,,,,i think the problem is in myself i felt that i cant catch up with programming (escpecially c language) somtimes even the trivial things that all my friends solved i didnt solve them ,,,,, but i think that i should be patient and i should try again and again ,,,it's a matter of time,,,, hopping that to be better ,,, thank u again and sorry for bothering u all :)

Suzy, what about to become a hospital nurse?
Sometimes I envy to that ppl - nurses.