Introduction to Computers/Hardware and software
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.
The above link does not work. Please update the link, if you know where the original material is located.
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.
Firmware can be explained as programming instructions that are stored in a read-only memory and can only be used by connecting them with software. 
It is used so that processing happens quicker as in video and sound cards.