The study of computers and algorithmic processes including their principles, hardware and software design, their applications, and their impact on society.