What Is Programming?

Programming is essentially providing instructions to a system to accomplish a task or receive a result. Everything you see see when you use your desktop computer, laptop, tablet, or phone are all the result of programming. Every aspect of the operation of your electronic devices, even your home appliances like your toaster and fridge, can contain code being executed. Code controls the electricity coursing through the circuitry of a device to to the pixels of a screen that change colors every fraction of a second. Every button click and key press in your favorite app or preferred operating system executes code that someone wrote to interact with other systems someone else wrote to do what that button click does.

Programming involves taking very small and precise steps. But all those steps culminate in every website, video game, operating system, or video you've ever seen on a computer screen. Everyone of those steps add up to programs that are millions of lines long that hundreds of people have worked on and contributed to for decades. However, many programs that have been used for decades are relatively small. Often one person has an idea that they believe will make their or others' lives easier and executes it by writing a program that does that thing. To learn to program it takes understanding that an idea can be realized and the drive to make that idea a reality through learning.

Algorithms

Much of programming involves problem-solving. This is achieved by designing and utilizing algorithms. Algorithms are a set of instructions used to complete a task. The most basic example found in everyday life could be something like following a recipe. And algorithms have been designed and in use since the beginning of human history. The topic of algorithms in computer science and math are very broad, but some examples of tasks that are solved thoguth the study of algorithms are:

  • Sorting
  • Searching
  • Mathematical Proofing
  • Artificial Intelligence
  • Robotics
  • System Load Balancing
  • Networking
  • Multi Processing

Throughout this book, you will learn the programming and computer science concepts to develop your own algorithms to solve problems that arise in your personal programming journey.


Further Reading

Algorithm