The ** Bachelor of Computer Science ** or ** Bachelor of Science in Computer Science ** (abbreviated ** BCompSc ** or ** BCS ** or ** BS CS ** or ** B.Sc. CS ** ) is a type of bachelor's degree, usually awarded after three or four years of collegiate study in computer science, but possibly awarded in fewer years depending on factors such as an institution's course requirements and academic calendar. In some cases it can be awarded in five years. In general, computer science degree programs emphasize the mathematical and theoretical foundations of computing. ^{ [2] }

The same core curriculum may, depending on the school, result in other degrees, including:

- Bachelor of Arts (BA) in Computer Science
- Bachelor of Applied Science (BASc) in Computer Science
- Bachelor of Technology in Computer Science and Engineering (B.Tech)
- Bachelor of Science in Information Technology
- Bachelor of Mathematics in Computer Science
- Bachelor of Engineering (BEng or BE) in Computer Science
- Bachelor of Computing in Computer Science
- Bachelor of Science in Engineering (Computer Science) - BSE (CS)
- Bachelor of Computer Security in Computer Science
- Bachelor of Science (BSc or BS) in Computer Science (BSc CS or BSCS or BSc (Comp)

In many post-secondary institutions, an ** Honors Bachelor of Computer Science ** degree has been introduced as an upgrade to the regular bachelor's program and usually requires at least one additional year of study.

## Typical requirements

Because computer science is a wide field, courses required to earn a bachelor of computer science degree vary. A typical list of course requirements includes topics such as: ^{ [3] }

- Computer programming
- Programming paradigms
- Algorithms
- Data structures
- Logic & Computation
- Computer architecture

Some schools may place more emphasis on mathematics and require additional courses such as: ^{ [4] }

- Linear algebra
- Calculus
- Probability theory and statistics
- Combinatorics and discrete mathematics
- Differential calculus and maths

Beyond the basic set of computer science courses, students can typically choose additional courses from a variety of different fields, such as: ^{ [5] } ^{ [6] }

- Theory of computation
- Operating systems
- Numerical computation
- Compilers, compiler design
- Real-time computing
- Distributed systems
- Computer networking
- Data communication
- Computer graphics
- Artificial intelligence
- Human-computer interaction
- Information theory
- Software testing
- Information assurance

Some schools allow students to specialize in a certain area of computer science. ^{ [7] } ^{ [8] } ^{ [9] }