Computer software is the programming that tells a computer what to do to make it work. This contrasts with computer hardware, which includes the visible, physical parts of the computer.
Computer software is coded by programmers using special languages. The code is stored inside the computer's memory or on external storage devices, such as CDs, DVDs, memory cards and USB flash drives. Computer software includes programs in three broad categories. System software comes with a computer and is required for the computer to function. Operating systems and device drivers are examples of system software. Application software enables the user to perform specific tasks, such as word processing, graphic design or playing a computer game. Computer programming software helps programmers create new software and includes compilers and debuggers.