Introduction to Computers/Hardware and software
The above link does not work. Please update the link, if you know where the original material is located.
Hardware refers to the physical elements of a computer. Also referred to as the machinery or the equipment of the computer. Examples of hardware in a computer are the keyboard, the monitor, the mouse and the processing unit However, most of a computer's hardware cannot be seen; in other words, it is not an external element of the computer, but rather an internal one, surrounded by the computer's casing. A computer's hardware is comprised of many different parts, but perhaps the most important of these is the motherboard. The motherboard is made up of even more parts that power and control the computer.
In contrast to software, hardware is a physical entity, while software is a non-physical entity. Hardware and software are interconnected, without software, the hardware of a computer would have no function. However, without the creation of hardware to perform tasks directed by software via the central processing unit (box), software would be useless.
Software, commonly known as programs, consists of all the electronic instructions that tell the hardware how to perform a task. These instructions come from a software developer in the form that will be accepted by the operating system that they are based on. For example, a program that is designed for the Windows operating system will only work for that operating system. Compatibility of software will vary as the design of the software and the operating system differ. A software that is designed for Windows XP may experience compatibility issue when running under Windows 2000 or NT.
Software can also be described as a collection of routines, rules and symbolic languages that direct the functioning of the hardware.
Software is capable of performing specific tasks, as opposed to hardware which only perform mechanical tasks that they are mechanically designed for. Practical computer systems divide software systems into three major groups:
- System software: Helps run computer hardware and computer system. Computer software includes operating systems, device drivers, diagnostic tools and more.
- Programming software: Software that assists a programmer in writing computer programs.
- Application software: Allows users to accomplish one or more tasks.
The term "software" is sometimes used in a broader context to describe any electronic media content which embodies expressions of ideas such as film, tapes, records, etc. Software is the electronic instruction that tells the computer to do a task.
Firmware is a program for the hardware.
It is an embedded coded (program) for the hardware. So, that it can perform its function specifically for which device is made. Every device has inbuilt firmware. That gives the device ability to perform its work. There are lots of devices that use a screen and buttons. The device consists of firmware that instruct the device to perform certain functions on given command
Examples are a video card and sound card.
Can be explained as programming instructions that are stored in a read-only memory and can only be used by connecting them with software. 
Used so that processing happens quicker as in video and sound cards.