Programming is all about breaking a problem into parts and then solving each part 1 by 1. It requires your intellectual mind and skills to solve problems. Whenever you get a problem, make a flow chart in your head to solve it. I have a experience of 4 years in programming and below are some tips from me for you to be a better programmer.
1. Learn by doing
You can read tutorials all day, but you’ll only improve by doing it. If you want to improve at programming, start making small applications and start playing with the code. Think of an idea, and no matter if its profitable or not DO IT!
Right now I am planning to make these applications which will improve me and if you’re interested you can work on them with me or yourself.
- A web crawler for scraping BBC/urdu web pages (I have gathered 1500 page urls already)
- A web crawler based encyclopedia
- A social website like Tumblr (As my semester DBMS project)
A word on how your brain learns: Your brain learns through pattern recognition. Doing something again and again makes you good at it because your brain recognizes the patterns faster each time. So keep practicing and keep getting better.
3. NEVER COPY PASTE CODE FROM ANYWHERE!
Even though there is a script out there available for free for almost anything you may be asked to do, but never use it until you know how it properly works. Don’t use it until you can ask yourself if I were given the task to create something similar myself, will I be able to do it?
4. Errors and bugs are good
Do your best to solve the errors and bugs yourself. Asking someone for help is good but it should be your last option, playing with the code yourself until the last minute will teach you in how many ways something can’t be done. Love the errors and debug yourself and get better at it every time you do it.
5. The most important
“You’ll become a good programmer only, if you love programming”
If you were compelled to join Computer science or some IT field, you must love to code. Otherwise, you will never be a good programmer. Its the love of programming that pushes you to coding even when you’re frustrated by bugs and nonsensical logical errors., if you don’t like to code or if you’re doing it to just ‘get it done’ this field is not for you.
In the end, I would like to list out some applications or algorithms that you can make and practice to improve.
- Fibonacci sequence
- Implementing LinkedList
- Making your own Hashtable
- A web crawler
- A web based chat application using PHP/JS
- A web based small blogging system using PHP/JS
- Image sliders and Image gallery plugins using JQuery
- Bukkit sort algorithm for Urdu textual data
- url-shorter in PHP
- md5 or sha1 algorithms
- Currency converter using PHP and google API
- Campus Management System
- A ping pong game in Flash