how to get good at programming

Hey guys, i know this sounds noobish and naive,
I have read "A byte of python" by swaroop ch
and know the basics of c/c++
how do i get good with programming ??? what should i do to get good with it ?
i mean if i am confronted with a problem i get stuck sometimes ... how do i overcome this stumbling block ?
 
I'll be a bit honest here. Out of the curriculum we had for our 4 year Mechanical Engineering course, C++ and C were the only subjects (I flunked in C++ semester exam) I had faired poorly and to an extent is responsible for bringing down my CGPA. I really feel sad about it but I guess programming wasn't my cup of tea. I just could not be convinced with iterations and loops and particularly this one, i = i +1!

Like stalker has put it already, you will need to do a lot of practising to get the logic right. I've seen a couple of my friends completing the lab exams within minutes of the start, compiling the program, getting the output and verifying it with the examiner.

There are a lot of books to get you started with.
 
You can improve by thinking thinking and thinking :eek:hyeah:. The most awesome thing in programming is; that there is always a new and more efficient way to solve any problem.

Try thinking over problems logically. There may be moments where u might just go blank with no solution at all but try thinking at such moments and eventually u will overcome them. Always remember think logically! Try clearing all the concepts of languages by making programs.
 
Instead of practicing programming puzzles, I would suggest you to take up a small project and complete it. like a 1person month project. that way you would learn both programming and other aspects of SDLC. you always have google/forum whenever you're struck.
 
I would suggest you should start doing some real projects. because solving hypothetical can be boring. perhaps, start contributing to open source project like Apache,Firefox,Drupal,Pidgin,Chromium(google chrome),Android, KDE,Gnome & more many projects like these. there are thousands of such projects to which you can contribute and improve your coding skills.choose the project in which you are most interested because if you don't like the work you do, you won't reach far:p

And don't worry about being stuck. mentors are there for help. As, a added advantage this is something which will also look good on your resume:D

Happy Coding
 
booo said:
Instead of practicing programming puzzles, I would suggest you to take up a small project and complete it. like a 1person month project. that way you would learn both programming and other aspects of SDLC. you always have google/forum whenever you're struck.

+1, think of small useful projects and work on them one by one. Once you've done like 10-15 such projects, you would have already learned a good amount of problem solving skills by applying logic. Once you get good at applying logic to solve a problem, half of the programming is already done. Syntax will differ for different languages but in most cases, the concept, way of approaching a problem and the logic are very similar.
 
Desecrator said:
I'll be a bit honest here. Out of the curriculum we had for our 4 year Mechanical Engineering course, C++ and C were the only subjects (I flunked in C++ semester exam) I had faired poorly and to an extent is responsible for bringing down my CGPA. I really feel sad about it but I guess programming wasn't my cup of tea. I just could not be convinced with iterations and loops and particularly this one, i = i +1!

Like stalker has put it already, you will need to do a lot of practising to get the logic right. I've seen a couple of my friends completing the lab exams within minutes of the start, compiling the program, getting the output and verifying it with the examiner.

There are a lot of books to get you started with.

Yeah, the whole programming idea doesn't sound boring to me and stuff, I actually get excited about programming and as a comp. science student I can't say its not my cup of tea ... if it isn't I need to make it one :p

Sanjeet Arora said:
You can improve by thinking thinking and thinking :eek:hyeah:. The most awesome thing in programming is; that there is always a new and more efficient way to solve any problem.

Try thinking over problems logically. There may be moments where u might just go blank with no solution at all but try thinking at such moments and eventually u will overcome them. Always remember think logically! Try clearing all the concepts of languages by making programs.

booo said:
Instead of practicing programming puzzles, I would suggest you to take up a small project and complete it. like a 1person month project. that way you would learn both programming and other aspects of SDLC. you always have google/forum whenever you're struck.

Roger that

Gaurish said:
I would suggest you should start doing some real projects. because solving hypothetical can be boring. perhaps, start contributing to open source project like Apache,Firefox,Drupal,Pidgin,Chromium(google chrome),Android, KDE,Gnome & more many projects like these. there are thousands of such projects to which you can contribute and improve your coding skills.choose the project in which you are most interested because if you don't like the work you do, you won't reach far:p

And don't worry about being stuck. mentors are there for help. As, a added advantage this is something which will also look good on your resume:D

Happy Coding

Thanks a lot mate, that was encouraging :) :hap2:

arun687 said:
+1, think of small useful projects and work on them one by one. Once you've done like 10-15 such projects, you would have already learned a good amount of problem solving skills by applying logic. Once you get good at applying logic to solve a problem, half of the programming is already done. Syntax will differ for different languages but in most cases, the concept, way of approaching a problem and the logic are very similar.

thanks a lot guys !! :) :clap::clap::clap:

will follow these advices

hope I get better at coding soon :)
 
Gaurish said:
I would suggest you should start doing some real projects. because solving hypothetical can be boring. perhaps, start contributing to open source project like Apache,Firefox,Drupal,Pidgin,Chromium(google chrome),Android, KDE,Gnome & more many projects like these. there are thousands of such projects to which you can contribute and improve your coding skills.choose the project in which you are most interested because if you don't like the work you do, you won't reach far:p

And don't worry about being stuck. mentors are there for help. As, a added advantage this is something which will also look good on your resume:D

Happy Coding

Thanks for the nice info. But where to get it started??
 
i m a game programmer......( graphicsi n particular) but i also program coll. detection,ai etc
the steps(acc. to me) to get better at programming are-

1) you should love to program
2) know the syntax of ur preferred language( i use c++ with directX).
2) know the problem that u r programming very well.
3) sit down and break the problem into parts until u know how to solve each one.
4) solve the problem on paper.( or mentally ) whatever u prefer.
5) then write code n if it runs then gr8 otherwise find whats wrong and solve the problems.
7) dont think in terms of loops etc, just know ur logic and the loops etc will come by themselves when u write code.....

Thats it
eNjoy programming ( its not hard U make it hard) know the problem well and the answer is almost always easy(if u know the question well) :eek:hyeah:
 
krishnandu said:
Thanks for the nice info. But where to get it started??

1) Choose a particular project based on your familiarity of Programming language used in that project and your interest.

2) Shoot a Mail to their Developer mailing list stating your current skill set and how many hours per week you can devote to project.

3) Goto to their bug tracker and start fixing small bugs. big project often leave "junior job" for new guys. this way you will become familiar with project.

4)Then you can start adding new feature and submit patches.

Cheers!
 
gamingstill said:
i m a game programmer......( graphicsi n particular) but i also program coll. detection,ai etc
the steps(acc. to me) to get better at programming are-

1) you should love to program
2) know the syntax of ur preferred language( i use c++ with directX).
2) know the problem that u r programming very well.
3) sit down and break the problem into parts until u know how to solve each one.
4) solve the problem on paper.( or mentally ) whatever u prefer.
5) then write code n if it runs then gr8 otherwise find whats wrong and solve the problems.
7) dont think in terms of loops etc, just know ur logic and the loops etc will come by themselves when u write code.....

Thats it
eNjoy programming ( its not hard U make it hard) know the problem well and the answer is almost always easy(if u know the question well) :eek:hyeah:
Thanks
Gaurish said:
1) Choose a particular project based on your familiarity of Programming language used in that project and your interest.
2) Shoot a Mail to their Developer mailing list stating your current skill set and how many hours per week you can devote to project.
3) Goto to their bug tracker and start fixing small bugs. big project often leave "junior job" for new guys. this way you will become familiar with project.
4)Then you can start adding new feature and submit patches.

Cheers!
will do so thanks alot once again :) :clap::clap::clap:
 
Gaurish said:
1) Choose a particular project based on your familiarity of Programming language used in that project and your interest.

2) Shoot a Mail to their Developer mailing list stating your current skill set and how many hours per week you can devote to project.

3) Goto to their bug tracker and start fixing small bugs. big project often leave "junior job" for new guys. this way you will become familiar with project.

4)Then you can start adding new feature and submit patches.

Cheers!

Thanks now that's a clear way I can see. Thanks a lot.

One more thing I;d like to ask. I know C, C++, VB, VB.NET, C#.NET, ASP.NET, PHP.

I'm learning J2SE, J2EE, Python, Perl, Ruby.

Now what I want to ask is, I know all these languages as a learner should know, I mean I've no practical/professional experience. But I love programming. And one of my hobby is to learn programming languages. What you think should I choose Developer as a carrer?? My bro who works in TCS is suggesting to go in support. I've interest in network security too. Will these programming languages be ever used there?? And planning to do RHCE, CCNA and some security courses like CEH, CISSP, RHCSS etc. What do you suggest?? I'm very confused. I'm doing BCA(3rd Yr.)

@OP My intension is not to spoil you thread. But as I love programming and you just asked the question what I'm going to ask, my query got solved too.
 
krishnandu said:
Thanks now that's a clear way I can see. Thanks a lot.

One more thing I;d like to ask. I know C, C++, VB, VB.NET, C#.NET, ASP.NET, PHP.

I'm learning J2SE, J2EE, Python, Perl, Ruby.

Now what I want to ask is, I know all these languages as a learner should know, I mean I've no practical/professional experience.

Jack of all trades, master of none.
In my opinion, One should focus on particular area of interest. there is no point trying to learning everything, as you will fail -- because there is too much to learn in this world.being a specialist has its own advantages

krishnandu said:
What you think should I choose Developer as a carrer??

That's not my choice to make.
If you programming really interests you then, go for it.
 
^^Thank you.

Jack of all trades, master of none.

That's what everyone says.

Ok what are my options as a developer?? I mean, I prefer web development more than desktop app's. So how is the market in web development??

Or should I try for Network Security??
 
krishnandu said:
@OP My intension is not to spoil you thread. But as I love programming and you just asked the question what I'm going to ask, my query got solved too.

nothing like it ... in a way its good ! cause your doubts serve for me as well so no probs

and as far as I know eventually at some point of time you will enter coding so its not going to waste unless you decided to go into Management side.
 
Back
Top