software that performs some useful task for a user such as typing a letter or playing a game
software that performs some useful task such as word processing or playing a game for a user. ( microsoft office, google suite, database)
how computer can improve their performance without explicit commands and instead use patterns from previous data and examples provided by humans