The hardware aspect of computer science overlaps with electrical engineering. It covers the basic design of computers and the way they work. A fundamental understanding of how a computer "computes," or performs calculations, provides the foundation for comprehending more advanced concepts. For example, understanding how a computer operates in binary allows you to understand how computers add, subtract, and perform other operations. Learning about logic gates enables you to make sense of processor architecture.
The software side of computer science covers programming concepts as well as specific programming languages. Programming concepts include functions, algorithms, and source code design. Computer science also covers compilers, operating systems, and software applications. User-focused aspects of computer science include computer graphics and user interface design.
Since nearly all computers are now connected to the Internet, the computer science umbrella covers Internet technologies as well. This includes Internet protocols, telecommunications, and networking concepts. It also involves practical applications, such as web design and network administration.
NOTE: While computer science (lowercase) refers to the general study of computers, Computer Science (capitalized) is an academic major offered at many colleges and universities. It is often abbreviated "CS" or "CompSci." Examples of Computer Science courses include:
- Introduction to Computing
- Fundamental Programming Concepts
- Data Structures
- Analysis of Algorithms
- Computing Theory
Computer Science classes may also be specific to certain industries or topics. Examples include:
- Video Game Design
- Computer Graphics
- Database Systems
- Networking Concepts
Like other educational disciplines, Computer Science courses vary from beginner to advanced. The number of a Computer Science course typically indicates the level of the class. For example, an introductory class may be labeled CS 102, while an advanced class may be labeled CS 431.