Published on

I Want to Learn Programming But Don't Know Where to Begin

featured Image

The goal of this essay is to make programming accessible to everybody. Questions and Answers As a mentor, I am frequently asked the following questions:

"Which programming language should I learn if I'm just starting out?"

"Which programming language is most in demand for career opportunities?"

"What is the most widely used programming language?"

Top Programming Languages

Best Programming Languages To Learn In 2022

Best Programming Languages To Learn In 2022

What is the best programming language to use?

Computer science is a completely interdisciplinary branch of study. That is, each subsequent subject builds on previous ones.

If you tried to study programming (or any STEM discipline) in school and failed, you weren't the problem. A excellent cumulative subject lecturer carefully curates the curriculum. The expectations for the students' past knowledge should be obvious, provided that each student has adequately prepared and completed the requirements. A good lecturer knows the expectations and makes no assumptions about expertise outside of that realm. Anything outside of the norms must be taught. Each topic in the curriculum is organised sequentially in relation to the others.

When establishing a course curriculum or learning route for a cumulative topic, extreme care must be used. Having said that, don't select a language based on its ranking; rather, choose a language for which you have a comprehensive learning path that makes no assumptions about past knowledge.

A few words of wisdom

Before you start learning how to code, remember what I said earlier: everything in computer science is cumulative.

I want to emphasise this since the worst error an aspiring programmer can make is abandoning up because they don't believe they are clever enough to learn programming. It has nothing to do with your IQ to learn to code. Yes, learning programming is difficult, not because of who you are, but because there are so many things to learn.

Accept that the following situation will occur: you are presented to a new topic that makes absolutely no sense to you.

That situation will play out again and again. The only aspect that will decide your success is how you handle that scenario each time it occurs.

If the tutorial (or book) you're using doesn't adequately explain the topic, you'll need to discover additional resources that do. There is no need to give up simply because your tutorial's treatment of a topic did not work for you. YouTube has a video for almost everything you want to learn for free. Determine what to search for (for example, [the topic] in [your programming language] Plus any other relevant terms).

Check the statistics first if you're looking for instructive lessons on YouTube. Take a brief glance at the rating and/or the number of views. If you're still not sure if a video is worth your time, check some of the comments to get a sense of what others think.

  • "Did you learn anything new?" Do I grasp how each new talent is applied in practise? "Can I demonstrate my grasp of this skill by doing practise problems?"

  • "Will I remember what I just learnt tomorrow?" And what about the next day? "How am I going to remember it if I don't memorise it?"

  • "Did you learn any new skills?" Do I grasp how each new talent is applied in practise? "Can I show that I grasp this competence by doing practise problems?"

  • "Will I remember what I just learnt the next day?" What about the next day? If not, how am I going to remember it?"

Last but not least, never underestimate the power of memorization. Memorization is a completely underappreciated method of learning. Yes, understanding a topic is the ultimate aim. Understanding, on the other hand, may take some time. If you're having trouble understanding a topic, break it down and remember the key phrases. If you don't understand how anything works, your first priority should be memory. Consider employing the study card approach if you need help with remembering. More information on how I apply this strategy may be found in my Interview Prep paper.

1. Fundamentals of Computer Science

The first step is to master the principles of computer science, which I explain in my essay Intro to Computer Science Terminology. This post was prepared with my target audience — everyone — in mind. I purposefully designed this to be simple enough for someone with no prior knowledge of computers to comprehend.

The majority of the notions discussed in the article are definitional in nature. You are free to skim through the material if that is all that is required of you. I recommend that you memorise these terms. Approach each phrase as if you were in school and needed to remember each term's definition for an exam. You don't have to make such a strong commitment if you don't want to. However, the more of these principles you can memorise, the easier it will be to learn subsequent sections.

2. Propositional Logic (optional)

No, you don't have to be a math genius to be a programmer. Math abilities might be useful, but they are not required. If you're not confident in your arithmetic skills, I recommend mastering propositional logic. Propositional logic concepts serve as the foundation for programming.

3. Programming in Java

You'll be ready to study a programming language once you've mastered the fundamentals of computer science. I've spent a lot of time and effort into creating a route that is appropriate for everyone, regardless of their background. I picked Java for this study route since it is the language in which I have the greatest experience. One of the most popular programming languages is Java. It's an object-oriented programming language (which you'll learn more about later), and it's used to create desktop, web, and mobile apps.

4. Algorithms and Data Structures

An algorithm is a series of instructions (or steps) for doing a certain job, where each step must be well defined, executable, and finite (meaning it does not execute indefinitely). A data structure is a method of storing and arranging data in memory. Algorithms and data structures are two of the most difficult programming concepts. Algorithms are not required for basic programming skill. However, if you want to work as a software engineer at a renowned tech firm, you will be required to demonstrate understanding of algorithms and data structures throughout the interview process.

5. Android

Android development is, in my view, one of the most enjoyable Java programming apps. Android apps are mostly written in Java, so if you know Java, you're ready to learn Android.

Resources That Can Help

Stack Overflow is a website where programmers may obtain free coding help. If you're stuck and want to ask a question, look it up first. If you can't locate your question, make an account and ask it yourself!