Bachelor of Computer Science

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