Introduction
Modern computer systems are made of hardware and software components. hardware components are those components that have a physical presence. The motherboard, the CPU, and memory are examples of hardware. There is a phyical item that you can actually see. Software components on the other hand do not have a tangible physical presence. Software tells the computer what to do and when to do it. It provides the instructions on what calculations to make and how to make those calculations. It tells the computer how to handle user interactions, and how to display the result to the user by colouring a pixel a certain way.
Programming is about the creation of software. Software makes your computer come to life. Software runs on hardware so hardware is required. However, a computer is just a really expensive paperweight without software. Learning to program is about learning to create software.
To develop software, we can't think of the computer as a magical box... we need to have a mental model of computers and all the essential components. In this first chapter will provide a broad description about the parts of a computer.
We will also describe how programs get turned into applications through the compilation process and illustrate a simple program written in the C language