aims to understand the principles and limitations of computation, as well as to design and implement efficient and reliable systems that can solve various problems.
is interdisciplinary and interacts with other fields such as mathematics, physics, biology, engineering, and social sciences.
has many branches that focus on different aspects of computation and its applications in our world.
programming: writing instructions for the computer to follow using different languages to communicate with the computer, such as Python, Java, or Scratch to make games, apps, websites, and more.
algorithms: the steps or rules that you use to solve a problem or do a task like sorting a list of numbers from smallest to largest, you can use an algorithm to tell the computer how to do it.
data: the information that you store, process, or communicate with the computer that can be in different forms, such as numbers, text, images, sound, or video.
hardware: the physical part of the computer that you can touch and see including speakers, monitor, case as well as the parts inside the computer, such as the processor, memory, disk, and wires.
software: programs that are a part of the computer that you cannot touch or see that makes the computer do what you want (eg. operating system, browser, games, and apps are software)
artificial intelligence: the simulation and enhancement of human intelligence by machines, such as reasoning, learning, planning, perception, and natural language processing.
machine learning: the creation and application of algorithms that learn from data and improve their performance over time.
computer graphics: the generation and manipulation of images and animations using computers.
computer vision: the analysis and understanding of visual information by computers, such as face recognition, object detection, and scene reconstruction.
human-computer interaction: the design and evaluation of user interfaces and interactive systems that are usable, effective, and enjoyable.
cryptography: the science of secure communication and computation using mathematical techniques, such as encryption, decryption, digital signatures, and authentication.