This document defines software and describes different types of software. It begins by defining software as a series of instructions that direct a computer's hardware. There are two main types of software: system software and application software. System software includes operating systems and utility programs. Operating systems control hardware, manage memory and files, and provide a user interface. Utility programs perform maintenance tasks like formatting disks. Application software performs specific tasks for users like word processing, spreadsheets, presentations and graphics editing. Common examples of each software type are provided.