Writing code to create computer applications to perform complex calculations, or to manipulate large amounts of data.