programs that direct computers to perform information processing for end users
programs that specify the information processing activities required for the completion of specific tasks of computer users
includes programs that perform a single task such as word processing, spreadsheet analysis, or database management