The part of a computer system that consists of encoded information or computer instructions, in contrast to the physical hardware from which the system is built.