This chapter introduces agent-oriented programming (AOP) as a new programming paradigm based on a cognitive view of computation. AOP models agents as having mental states consisting of beliefs, capabilities, commitments, and choices. Agents communicate through speech acts like informing, requesting, and promising. Two example scenarios illustrate AOP concepts like reasoning about beliefs and coordinating commitments between agents. The chapter outlines the key components of an AOP system, including a language for describing mental states, an agent programming language, and a way to turn devices into programmable agents.