01 logo

How can you become a good programmer ?

We all know that If we have better knowledge of Computer Hardware then we will become a better Software Engineer.

By InfomancePublished 4 years ago 4 min read
2
source: google.com

Also One who has Basics understanding of bits and binary they can write better optimize programs.

Only knowledge of programming is not enough. If we know the How memory stores the data, How much time and memory our program takes then we can understand our program better.

There are various ways we can improve our competitive Programming -

learn from basics

command on one programming language

1. starting from C is good but not enough just choose C++ or python

2. first understand the problem - There are various kind of problems , some are direct algorithms questions and some are indirect(where we have to find the algorithm) also some are very short but logical questions

3. when you are beginner then one of the most important challenge is to develop logical thinking, it is not the thing that you can develop after solving 10 - 15 problems. it’s an art to think logically. You have to practice a lot. In the beginning it take time but that is your difficult phase. you have to fight with that until you get your goal.

4. Never see solution first. first try yourself and just give time to your problem, try to get the output, if you didn’t get, think another way, again fail to get output, try to think another way after that you will understand that you can’t solve this kind of problem in these ways.

5. So, basically in the step 6, I have discussed the way of thinking. It was kind of ‘brute force of thinking’. where we just find all possible ways and get the solution. this is not a right way to solve problems but this is your first step of your programming.

6. Now you just finished your first step of thinking. But you have to choose best path or best solution(i.e a code which is optimized and takes less memory, less execution time). Now how can you that first you have to understand memory, how data is stored and how much time it takes to solve any programming problem. Here also your basic knowledge of bits and binary (“Computer Organization”) will help.

7. Knowledge of Binary is not enough because you only know about raw material don’t how to use it in optimized way. You have to learn “Data Structures & Algorithms” . Then you will know where data can arrange and store in optimized way that you can use it. You have tools now (i.e “Your data structure) but you still don’t know how to use it.

8. Here you knew about the tools i.e various types data structures. But you wan’t to use those tools. how can you use ? Don’t worry Here comes your solution - “ Algorithms - A way of thinking of a problem in such a way that takes some inputs and give output”.

9. First learn about the time complexity (“ How much time your program takes. suppose you run a for loop of n size then how many times loop iterate if it start from 1 and increased as 2 times of it’s value”) and space complexity (“ amount of working storage”). These are the basic things to learn algorithms.

10. After that just practice coding and every data structures has thousand of problems But all they are linked with each other. If you will study “500 Algorithms” and practice thousands of programming problem. Then you will able to crack any coding competition.

11. Also must take part in various type of short challenges and long challenges contests. Don’t care about you ranking, your star anything. just participate and write codes. solve problems.

12. If you practice daily 3 to 4 hours then after 1 year you will understand what actually the meaning of competitive programming. Also I want to mention one thing that if you practice 8 hours daily then half decade is less to become a very good programmer.

13. I also love competitive programming but I did mistakes. and my biggest mistake is that I didn’t follow the continuity. I already took 2 years of time but I didn’t reach that level of coding. I do not expect that you will do same mistakes what I actually did.

Also , I want to mention that there no any end level of coding and no any end level of thinking. you will always learn things, new problems.

how to
2

About the Creator

Infomance

Reader insights

Be the first to share your insights about this piece.

How does it work?

Add your insights

Comments

There are no comments for this story

Be the first to respond and start the conversation.

Sign in to comment

    Find us on social media

    Miscellaneous links

    • Explore
    • Contact
    • Privacy Policy
    • Terms of Use
    • Support

    © 2024 Creatd, Inc. All Rights Reserved.