Featured Post

BUILD A TODO LIST IN PYTHON

Image
Build a TODO List in Python Overview The objective is to build a todo list to which we can add items, remove the added items, edit the items and even if required, delete out the entire list itself. We will learn here step by step, how to build the todo list with the above  CRUD (Create, Remove, Update/edit, and Delete ) features.  This is a CRUD list  app  that we are building as we can Create, Remove, Update items in the list and Delete the entire list itself. We will be using Python3 to build this Project. Importing os and time We import time to let the screen pause for a while before clearing  and we import os to clear the screen . Initializing the list We initialize the todo list with an empty list as there are not items added yet to the list and this is represented in the code aby using an empty square braces   toDoList = [] Defining the print list  The def keyword is used to define a function in python. In the below code, we define the function called printList(). When we define

Guide to Learn Coding Efficiently and Effectively

Guide to Learn Coding Efficiently 

This guide will teach you how to learn to code more efficiently and effectively in order to learn programming without a major burnout.



Start with core concepts: 

The main thing that you need to remember is to pay attention to your core fundamentals, which is about all your programming language concepts, methods and basics. Once you understand and master the basics well, you are free to go ahead further to explore some more in your coding journey. Every language has its core concepts, hence, grasp the fundamentals such as conditional loops and statements, objects, functions, algorithms and database structures etc., before proceeding to start building projects.

 

Have a Goal in mind:

Figure out your goals even before you decide to study coding.

Firstly, you need to ask yourself, why you want to learn programming. Is it to get a higher salary than what you are getting now or is it because you love coding or is there some other reason behind your intention to enter this industry in technology.  Once you answer your above questions, stick with your goal, so that you will be motivated to stick to your goal consistently and persistently!

Secondly, what do you want to achieve or become after learning to code? Do you want to become a web designer, front-end web developer, back-end web developer, Full-stack web developer, a mobile app developer, Game developer, data scientist, or a software engineer etc? What I have mentioned are some of the common areas that people work for after learning programming.  Then, based on the above goal, you need to select the coding language. For example, for web design, you need to learn HTML and CSS.

For front-end development, you need to learn HTML, CSS and JavaScript along with a framework ReactJS. 

For back-end development, you need to learn either Python, PHP or Java.

For mobile app development, swift, kotlin or Java etc.

For Full-stack development, you need to learn both front-end and back-end stack.

For software development or engineering, you need to learn a variety of programming languages. For game development, you need to learn C++, C#, Java and Python.

 

Find your own learning style:

Just because you want to learn code faster does not mean that you should jump in and learn everything very fast. Your rush is not going to help you to absorb all the knowledge faster, rather, it may end up in your giving up mid-way of your coding journey. Understand what is important before learning everything that you find online.

Do you find it easy to learn from video tutorials or from eBooks or from a mentor or a Boot Camp? Whatever fits your learning style, go ahead with it. Don't follow others' advice blindly and don't ignore your learning style and attitude as it is very important to stick to a particular style of your choice in order to avoid any burnout while studying.

 

It's ok to Google:

Even expert programmers google when they get stuck at coding, so, it is perfectly alright to google and search for others' codes whenever you get stuck while solving a problem. Googling for code is alright as long as you understand your mistake and get better at coding. Infact, knowing how to google is also a strategy that you need to master while learning to code as you need to key in the exact key-words while searching for code problems.

 

Writing code by hand:

Did you know that writing code by hand manually, is the best way to memorize and understand your code? Start developing the habit of writing your code by hand first, before keying in to your code editor. 

Another way to make your hand-written code interesting is to add plenty of diagrams and maps to your code. When you draw the maps and diagrams explaining the different coding steps, it is actually helping you to remember and retain the steps in your mind. 

Flow-charting your code will actually help in breaking down your code into simpler bits and that is the best way to make you understand and absorb complex problems. Flow charts and diagrams will help to memorize code syntaxes as well without making an effort to do so.

 

Learn to be a Problem-Solver:

Understand that coding is not about writing syntaxes, but it is about solving and answering problems. If you adopt this problem-solving attitude in coding, then, coding becomes more enjoyable and fun-loving rather than a tedious chore of complex syntaxes.

 

Collaborated Community based Learning:

Make collaborated learning a part of your learning journey, since, learning along with others makes your learning more meaningful and stress-free. You could share what you have learnt along with your team or group learning the same things and whenever you get stuck, you could easily ask for help. You could also help others in your community when they get stuck and remember, helping others to code also makes your learning more effective. 

You can find your learning communities in either social media such as Facebook groups or twitter learning communities or slack, reddit groups etc.

 

Inspect code:

You can read others' code by using a command called 'inspect’. You can go to any website and right click 'inspect' to see all the code inside the website. This is not for encouraging you to copy and paste their code but for you to understand the code that is working for their website and apps and to make your knowledge more in-depth and practical.

 

Document your code:

It is very important to document your code during your coding journey. Make a note of everything that you learn and keep a learning journal to record the steps so that you could retrieve it for later use and also for the sake of absorbing well. Documenting your notes will help to remember your code even better and also help to turn you into a better problem-solver! There are several ways to document your code, it could be either by storing your code files in your GitHub files or by keeping a manual folder with written or printed notes. It could also be some blog explaining your learning journey, or writing an eBook that you could offer on sale to other code newbies. Whatever documenting style you choose, it is totally up to you to choose one based on your convenience and individual learning preferences. 

 

Writing Pseudocode:

Pseudocode is a non-coding style of writing problem statements, generally, English-like phrases. It serves to increase the logical focus and program flow besides acting as a blueprint and re-usable architect, while simultaneously assisting to finish the project faster.

Pseudocode is an important practice for beginners as it helps to declutter their mind and understand problems efficiently. For example, let's say, you want to build a submit form, then, your Pseudocode would involve writing down the simple steps:

1. Create a submit form to collect name and email address of users.

2. Write the html code for user name and email id fields.

3. Write the html code for the message field.

4. Style the form with CSS.

5. The submit form to be placed under the contact tab.

 

Don't be scared of error messages: 

If you can't understand the error message in your code, then, you could just google the error code and it will interpret the error message for you after which you could continue with your code projects. 

 

Stop the race to expert programmer:

Don't fall into the trap of becoming an expert programmer or competing with other expert programmers. It is psychological phenomenon to see other experienced programmers belting out code from their desktop keyboard, even without blinking an eye and you may end up wondering why you are not able to do the same feat! Remember, he is just one step ahead of you! You can reach that level soon if you work hard, that's all.

 

It's ok to fail:

Sometimes, you may not be able to complete projects on time and may even fail coding interviews even after learning to code. It's normal to fail in interviews or coding exams and projects, as a beginner.  You learn from your failures, so, friend, don't take your failure to heart. There was a time as a beginner, when I used to struggle with simple html codes! 

 

Compare your middle with your beginning:

People in general have a tendency to compare oneself with others and then look down upon oneself. This is not a good attitude to grow in this industry. It is always advisable to compare your current level with your middle or your past level. This way, you are able to measure your progress in small phases and by doing this, you are motivated to improve yourself rather than look down upon yourself after comparing yourself with someone better in your perception.

 

Applying the 80-20 rule:

While learning to code, apply the 80-20 rule to grow as a programmer. The 80-20 rule in learning a topic refers to the fact that you only need to select 20% of the right resources to grasp 80% of it really well, leaving aside the remaining unnecessary stuff behind. When you apply this rule to your study-time, ensure that you choose your time well. Find out what time range is the most dedicated time range when you can focus on learning without any external disturbances. For example, if you think that early morning hours from 5 am - 7 am works well with you, then, choose this time range on a daily basis to learn coding and by doing this, you could improve your productivity, that is, absorb more in lesser number of hours by increasing your concentration and focus. If you sit on your computer for 10 hours in a noisy room and only manage to learn a bit, then, you are not being productive at all. So, learning is not all about how many hours you allocated to the process, but how much you grasped in the minimum amount of time.

 

Look up online resources:

Some free online resources include w3schools, freeCodeCamp, YouTube channels teaching programming, etc. You may also look up Instagram pages dealing with programming as many of them have very detailed tutorials and solid foundational courses for beginners. 

 

Learning how to ask for help:

There are lots of online platforms such as Quora, Facebook coding for beginners’ groups, GitHub communities, freeCodeCamp community, reddit, etc., where you could ask for help when you get stuck. However, while wording out your help requests, you need to be extremely careful so that others in the forum or community can empathize and understand that you have sincerely attempted to solve the problem yourself before asking for help and that you also know where exactly you have gone wrong with the problem. This attitude will encourage others to help you whole heartedly since nobody likes to help lazy people who demand help even without understanding or attempting your problem or code yourself. 

 

Taking plenty of short breaks:

Coding can be very stressful to the mind and body if you do it continuously without breaks. Plan out your learning schedule by creating a daily time table with timer, allowing short breaks in- between study sessions. This will not only boost your memory but also refresh your mind and body both. Remember, tired mind and weak body can't think well to solve problems!

 

Practice and build your code:

Practicing your code is really important in order to understand it well and also get into the depth of the problem, for solving it well. Build mini projects right after learning code snippets. Building projects, however tiny they are, help in retaining your code knowledge and syntaxes as well.

 

Make it a habit of commenting your code:

Commenting on your code will help you in two ways: 

Firstly, it will work as a reference to you and others reading your code and secondly, you will find it easier to understand code since while commenting your code, you are explaining the reason why you are writing that particular line of code there.

 

Learn algorithms well:

Understand the basic algorithm of whatever programming language you are learning at the moment. Algorithms involve step-by-step sequences with set of rules in an ordered format for solving problems, with the intention of arriving at an expected output from the given input. 

Basic algorithm of any language would involve counting, summing, conditional loops etc., wherein the rules of the algorithms would be same in all the languages but the syntaxes would be different. That's why it is necessary to grasp the algorithms well so that after learning any one language first, you could learn other programming languages easily.

 

Don't get caught by Imposter Syndrome:

Imposter Syndrome is a feeling of insecurity that you feel as a beginner Programmer as you find yourself incapable and inferior in knowledge as compared to others in the same industry. 

If you want to know what is Imposter Syndrome and how to free yourself from this syndrome, here is my blog post that could guide you:

How to fight Imposter Syndrome

 

 

Don't give up:

It is quite normal for code newbies to give up coding after learning for a while. Quitting is a normal outcome when you get demotivated! Newbies quit when they feel that they are not able to learn enough, or learn quickly or learn like others. They also quit when they feel that they are not able to get a job after completing their learning cycle. 

 

My advice to all the newbies out there, please do not quit under any circumstances at all!

 

It is normal to be slow in the beginning but later you will be able to grasp the languages well if you follow the steps in this post. As regards getting a job, remember, it is not the end of the world if you don't get a full-time job right after the learning stage. You could earn from freelance assignments, part time jobs, remote jobs and even other entrepreneurial ventures related to programming.


Related posts :

Top Free Online Websites to Learn Coding

How to fight Programmer's Imposter Syndrome

What Programming Language should you learn first as a beginner

How to remember code in your learning phase


 


Comments

Popular Posts

Build A Random Quote Machine in React

A Simple Guide to Promises in JavaScript ES6

Build A Calculator in React

Welcome to my first Blog Post

How To Fight Programmer's Imposter Syndrome

Top Free Online Websites to Learn Coding