How to be a Good Programmer in College ?
Below are some simple steps that I have learned with my experiences with coding.
- Learn a programming language, preferably C++ or Java. The advantage of C++ is, you get a lot of help in college (from seniors, teachers, etc). The advantage of Java is, it is still the most used language in industry. Also, Java reports many issues in compilation. For example, an issue like missing one = “if (x = y)” might waste your time in C++, but Java compiler is going to report the issue in compilation.
- If you are programming in C++, learn C++ STL. If you are programming in Java, learn main Java Collection. The idea should be to solve problems using readily available containers, like unordered_set in C++ STL and HashSet in Java if we are solving hashing set question.
- Keep practicing and keep learning. Pick a problem, try to solve it yourself. don’t give up. Discuss with your friends/seniors. Good coders among your seniors are the best people to guide you. If you feel like your whole day is being wasted on a single problem, don’t give up, learn a standard algorithm from GeeksforGeeks or Wikipedia,
- It is not recommended to see the code written by someone else initially. We can take a look at the algorithm if we are getting no clue. Implement yourself (any solution, even brute force), once you implement, then see the solution written by some experts.
- If you are regularly getting stuck, solve lower level problems for sometime and spend more time on learning standard data structures and algorithms.
- If you are among the best coders of your college, teach your juniors through coding clubs, live classes, WhatsApp groups, etc. A teacher learns the most out of a session.
Please remember there is no shortcut and there is a lot to learn. It is a long journey. Earlier you begin, better for you.
Last but not least, let us make the best use of this lockdown. We are free from all academic work. Considering this, we have designed a 21 day absolutely free program “Special 21” to learn and practice programming.