The study of computer and computational systems. It is a broad field which includes everything from the algorithms that makes up software to how software interacts with hardware.