A branch of computer science focused on the systematic design, development, and maintenance of software applications.