How to become good coder ?

Hi Members
I am student of 12th class and I want to be become a good programmmer. Do need your help if you can

Edit: Dont Use All CAPS
 
Last edited by a moderator:
agnimol, it is really good that you want to become a good coder at such an young age. I recommend the following courses (do them in order):
  1. Rice university's computer science specialization. This a 7 part specialization. You can register for each of them individually for free but if you want a verified certificate you will have to pay 423 USD which is a lot of money (but still cheaper then most good smartphones!). Uses python as the language.
  2. IIT Bombay's computer science specialization. Similar to above course but uses C++. C++ is a low-leve language compared to python but C++ is the language of choice for system libraries and other low-level stuff. I recommend you do the Rice university's course first and then this.
  3. Programming Languages course by Dan Grossman. This is one of the most challenging, interesting and wonderful course online. It is difficult and time consuming but well-worth the effort. You need to do the previous courses to appreciate this course. Dan Grossman is a wonderful teacher and teaches you the foundational principles that underlie all programming languages. Every coder should do this course to understand how programming languages work.
After doing these courses, you can decide what you want to do. There are tons of learning opportunities online. I recommend you browse various courses on coursera and edx, and other online learning platforms. Register and complete as many courses as possible. There is no substitute for real-world practice, so identify an open source project and start contributing code to it. Once you learn enough, maybe you can even consider registering for Google summer of code. All the best!
 
Some thoughts:

- Write some code.
- Think.
- Write some more code.
- Read code written by other people.
- Think again.
- Read good literature. Style is important.
- Don't fret over what computer language to learn. All of them have their use. Learn a few.
- Write some programs in Assembly.
- Spend some time with LISP (or Haskell or scheme).
- OO has been oversold. Don't pay too much attention to pure OO shills. In fact stay away from anyone who offers 'the final solution' (Hint: Agile ...).
- Read the writing of other programmers/computer scientists (Brooks, Knuth, Dijkstra, Paul Graham, Joel Spolskey, Raymond ...). But don't take any of them too seriously. Develop your own thinking.
- Read some more good literature. Large scale code is like writing a large novel. It is easy to lose the plot.
- Develop good taste. Aesthetics is important.
- Naming variables/functions may become the hardest part of coding after you have done it for a decade. Namespaces give some relief, but don't really solve the problem. Good taste is the key.
- Computer program is not just an instruction to the computer. It is also a way for programmers to communicate their ideas with each other.
- User interface is important. If your program needs too much documentation, you probably did it wrong.
- Master the tools of the trade (OS, editor, code management, documentation, compilers, linkers, loader, shell script ...)
- You will not accomplish much alone. You will need other people. Become a good communicator. Programming is communicating an algorithm to the computer.[DOUBLEPOST=1460956577][/DOUBLEPOST]Two more things:

- You will spend most of your time debugging. Learn to test/debug code well (which is not the same as using a debugger. In fact, a debugger should be the last resort.).
- Never shy away from debugging other people's code.
 
Last edited:
Hey, just saw this thread. Practice will get you far, but it's also important to actually know the fundamentals before trying to be a good coder. I did most of my learning just with online tutorials, so I'd recommend learning the basics here. There are many coding styles to learn, but you'll eventually work out what you like best.
 
To be a good coder,
first of all - you have to get basic knowledge about any programming language .
Go step by step to be a expert in progamming..
 
Here are a few pointers:

1. How good a coder you are depends on sheer hours of coding you have done. Hands-on experience is very important. It doesn't matter what language you code on. Its important to grasp the concepts than to grasp the syntax.
2. Optimizing your code is crucial. But first build the solution and then optimize. Otherwise it takes away your focus from building the solution.
3. Always search the net for best practices, cool hacks, smarter ways to have an edge over people doing the same.
4. Interact with other coders who are more experienced than you.
5. Read point 1 once more.
 
Back
Top