The Bachelor of Computer Science, is a type of bachelor's degree, usually awarded after four or more calendar years of collegiate study in computer science, but can be awarded in fewer years depending on factors such as an institution's course requirements and academic calendar. In general, Computer Science degree programs emphasize the mathematical and theoretical foundations of computing, rather than teaching specific technologies that may quickly become outdated.
A Bachelor of Computer Science degree is normally required in order to work in the field of software development.
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 Computer Applications (BCA)
Bachelor of Mathematics in Computer Science
Bachelor of Science in Information Technology (BScIT)
Bachelor of Engineering (BEng) in Computer Science
Bachelor of Science in Engineering (Computer Science) - BSE (CS)
Bachelor of Computer Security in Computer Science
Bachelor of Computing 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 Honours 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 studies.
Typical requirements
Since Computer Science is such a wide field, required Computer Science degree courses vary. A typical list of standard courses that most Computer Science degrees require includes topics such as:
Programming Principles
Programming Paradigms
Algorithms
Data Structures
Logic & Computation
Computer architecture
Some schools which place more emphasis on mathematics will also require such courses such as:
Linear Algebra
Calculus
Probability and Statistics
Combinatorics, Discrete Mathematics
Differential Equations
Beyond the basic set of Computer Science courses, students can typically choose additional courses from a variety of different fields, such as:
Theory of computation
Operating Systems
Numerical computation
Compilers
Software Engineering
Databases
Real-time computing
Distributed system
Computer Networking
Data Communication
Computer graphics
Artificial Intelligence
Multimedia
Internet computing
Software tools and systems programming
Human-computer interaction
Information theory
Algorithm design & analysis
Software testing
Visual computing
Some schools also offer concentrations in a certain area of computer science, such as:
Computer Graphics
Cybersecurity
Game Design
Information assurance