Table of contents
No headings in the article.
Welcome to this insightful introduction to the world of coding.
You are lucky if you have a background in or studying Computer Science/Engineering; the truth is you are a step ahead of those of us who didn't have prior knowledge of coding or programming. If you don't have a background in computer science/engineering, then my friend, you have to work twice as hard as those who do. I do not have a degree or prior knowledge about coding until 2020, and I have to honestly tell you that it isn't a very easy journey.
For those who had a degree in coding/programming-related courses, they have half the job done already. I'll explain;
Coding/Programming has rules. You follow the rules and bet me, you are on the path to being the best software developer there would ever be. The rules of programming is knowing the foundation of programming. And the foundation of programming is knowing the following topics:
Fundamentals of Computer Science: For those who do not have an idea about programming, this topic should be the first read before proceeding to take programming courses. It educates you about the fundamental things to know about computers, how computers work, how information is stored, computer storage, CPU architecture, RAM and ROM, the difference between bits and bytes, and their conversions, and a whole lot more you'd realize is important for your programming journey.
Data Types and Structures: Having a fundamental knowledge about data types and structures, is a basic MUST KNOW in the programming world. Knowing this topic helps you to know the various data types, and when to use them. This topic helps you to know how data is stored, when and how to use them. It helps you to know when to use an array instead of a dictionary or a list. You learn about how hash tables work, binary trees, queues, and graphs among others.
I think I should let you know this; data types are similar, but the structures can be different depending on what aspect of programming you are into. A Front-end developer may not necessarily need to know how data is structured and used as a Python developer. Their use cases differ, so I'll suggest you pick a topic in Data types and structures in your chosen focus in Programming.
Algorithm: These are sets of instructions that make software or a calculation work. They are detailed sets of instructions that give step-by-step analysis as to how a problem is solved.
Algorithms are at best small in size for easy readability and understanding. Writing an algorithm to solve a complex challenge (ideally) involves smaller sets of written algorithms merged together.
This is a very important topic if you want to delve into programming because they guide you to the solution. An algorithm helps you plan and execute your codes in arriving at a solution. Algorithms determine how fast or slow an application/software is.
There are several courses online where you can learn the importance of algorithms.
Database design: As a programmer, you can't do without using a database day in and day out. Every organization uses databases to store information; and as a programmer, most of the codes you write will be borne out of a database or into a database. Knowing what data structure, is and how to go around it to solve a problem at hand is really important, and it makes life a lot easier for whoever is reading the database.
There are different types of Databases; Relational and Non-relational. The type of database to use would depend on the input or output of your data.
The most popular database out there is SQL, which is a type of Relational database.
Take out time to read about databases and how they work, and you'll see their importance in your everyday life.
Networking: There is no way to avoid this topic because it is a fundamental must-know in programming. This topic deals mainly with how computers interact with each other. This involves learning about storage, computer protocols such as HTTP, HTTPS, SSH, TCP, etc., network devices, routers, topology, network security, and network design among others.
Look up courses around this interesting topic.
Object Oriented Programming (OOP): This is one topic I love so much because it encapsulates what programming is all about. This topic lets you know everything in programming is an object. It is an important topic that comes with various concepts listed below:
1. Classes
2. Inheritance
3. Encapsulation
4. Abstraction
5. Polymorphism.
These topics would make you understand in detail, Objects and the relationship between them.
There are several other important topics to know, and I would advise you to go through them as listed below.
Flow Control Structures
Syntax
Multithreading and Concurrency
Command Line Interface.
Thanks for taking the time to read my first blog. Please let me know if it's helpful.