Main navigation
- Programs
- Subjects
- Universities
- Destinations
- Advice
Contrary to what its name suggests, Computer Science isn't truly about studying computers themselves. While computers are impressive electronic machines, what's even more astounding is their potential applications: modeling aerodynamic forces, managing global internet traffic, operating robotic systems, generating lifelike visuals, competing at championship-level chess, enabling automated language translation, and countless other capabilities. These computer-driven applications have transformed nearly every aspect of contemporary society. The common thread among these diverse applications isn't computer hardware or electronics, but rather their foundation in computational processes. This represents the true essence of Computer Science: understanding computation and exploring its possibilities and limitations.
When examining what computers can achieve, numerous subjects emerge, with two central themes consistently appearing. The first concerns scale: determining how large a system we can design without losing control, or how extensive a task a computer can perform within practical constraints of time, memory, and precision. Much of Computer Science addresses these challenges in various forms. In programming languages and methodologies, for instance, we seek effective notations for describing computations and development approaches that enable creation of maintainable, high-performance software. Computational theory investigates the time and memory requirements of fundamental computing tasks.
The second theme explores the boundaries of computation. Originally conceived as number-crunching devices, computers are now understood to have far broader applications. A significant aspect of Computer Science involves determining how extensively computational principles can be applied. Artificial intelligence research, for example, examines how to model human brain functions computationally. Human-computer interaction studies investigate how everyday activities might be enhanced through computer assistance.
Computer vision represents the scientific study and technological development of visual perception in machines. As a scientific discipline, it seeks to comprehend the computational mechanisms needed for machines to interpret visual data. This data might include single images, video streams, multi-angle image sets, or medical scan results. The computer vision curriculum teaches students to approach visual processing from a computational perspective. This involves precisely defining computational challenges at each stage of visual interpretation and developing algorithmic solutions to address them.