Bachelor of Computer Science
Encyclopedia
The Bachelor of Computer Science, (abbreviated BCompSc or BCS), 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:
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.
Some schools which place more emphasis on mathematics
will also require such courses such as:
Beyond the basic set of Computer Science courses, students can typically choose additional courses from a variety of different fields, such as:
Some schools also offer concentrations in a certain area of computer science, such as:
Bachelor's degree
A bachelor's degree is usually an academic degree awarded for an undergraduate course or major that generally lasts for three or four years, but can range anywhere from two to six years depending on the region of the world...
, usually awarded after four or more calendar years of collegiate study in computer science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...
, 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 PrinciplesComputer programmingComputer programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages. The purpose of programming is to create a program that performs specific operations or exhibits a...
- Programming ParadigmsProgramming paradigmA programming paradigm is a fundamental style of computer programming. Paradigms differ in the concepts and abstractions used to represent the elements of a program and the steps that compose a computation A programming paradigm is a fundamental style of computer programming. (Compare with a...
- Algorithms
- Data Structures
- LogicLogicIn philosophy, Logic is the formal systematic study of the principles of valid inference and correct reasoning. Logic is used in most intellectual activities, but is studied primarily in the disciplines of philosophy, mathematics, semantics, and computer science...
& ComputationComputationComputation is defined as any type of calculation. Also defined as use of computer technology in Information processing.Computation is a process following a well-defined model understood and expressed in an algorithm, protocol, network topology, etc... - Computer architectureComputer architectureIn computer science and engineering, computer architecture is the practical art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals and the formal modelling of those systems....
Some schools which place more emphasis on mathematics
Mathematics
Mathematics is the study of quantity, space, structure, and change. Mathematicians seek out patterns and formulate new conjectures. Mathematicians resolve the truth or falsity of conjectures by mathematical proofs, which are arguments sufficient to convince other mathematicians of their validity...
will also require such courses such as:
- Linear AlgebraLinear algebraLinear algebra is a branch of mathematics that studies vector spaces, also called linear spaces, along with linear functions that input one vector and output another. Such functions are called linear maps and can be represented by matrices if a basis is given. Thus matrix theory is often...
- CalculusCalculusCalculus is a branch of mathematics focused on limits, functions, derivatives, integrals, and infinite series. This subject constitutes a major part of modern mathematics education. It has two major branches, differential calculus and integral calculus, which are related by the fundamental theorem...
- ProbabilityProbability theoryProbability theory is the branch of mathematics concerned with analysis of random phenomena. The central objects of probability theory are random variables, stochastic processes, and events: mathematical abstractions of non-deterministic events or measured quantities that may either be single...
and StatisticsStatisticsStatistics is the study of the collection, organization, analysis, and interpretation of data. It deals with all aspects of this, including the planning of data collection in terms of the design of surveys and experiments.... - CombinatoricsCombinatoricsCombinatorics is a branch of mathematics concerning the study of finite or countable discrete structures. Aspects of combinatorics include counting the structures of a given kind and size , deciding when certain criteria can be met, and constructing and analyzing objects meeting the criteria ,...
, Discrete MathematicsDiscrete mathematicsDiscrete mathematics is the study of mathematical structures that are fundamentally discrete rather than continuous. In contrast to real numbers that have the property of varying "smoothly", the objects studied in discrete mathematics – such as integers, graphs, and statements in logic – do not... - 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 computationTheory of computationIn theoretical computer science, the theory of computation is the branch that deals with whether and how efficiently problems can be solved on a model of computation, using an algorithm...
- Operating Systems
- Numerical computation
- Compilers
- Software EngineeringSoftware engineeringSoftware Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...
- Databases
- Real-time computingReal-time computingIn computer science, real-time computing , or reactive computing, is the study of hardware and software systems that are subject to a "real-time constraint"— e.g. operational deadlines from event to system response. Real-time programs must guarantee response within strict time constraints...
- Distributed system
- Computer NetworkingComputer networkA computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....
- Data Communication
- Computer graphicsComputer graphicsComputer graphics are graphics created using computers and, more generally, the representation and manipulation of image data by a computer with help from specialized software and hardware....
- Artificial IntelligenceArtificial intelligenceArtificial intelligence is the intelligence of machines and the branch of computer science that aims to create it. AI textbooks define the field as "the study and design of intelligent agents" where an intelligent agent is a system that perceives its environment and takes actions that maximize its...
- MultimediaMultimediaMultimedia is media and content that uses a combination of different content forms. The term can be used as a noun or as an adjective describing a medium as having multiple content forms. The term is used in contrast to media which use only rudimentary computer display such as text-only, or...
- Internet computing
- Software tools and systems programming
- Human-computer interaction
- Information theoryInformation theoryInformation theory is a branch of applied mathematics and electrical engineering involving the quantification of information. Information theory was developed by Claude E. Shannon to find fundamental limits on signal processing operations such as compressing data and on reliably storing and...
- Algorithm designAlgorithm designAlgorithm design is a specific method to create a mathematical process in solving problems. Applied algorithm design is algorithm engineering....
& analysisAnalysis of algorithmsTo analyze an algorithm is to determine the amount of resources necessary to execute it. Most algorithms are designed to work with inputs of arbitrary length... - Software testingSoftware testingSoftware testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software...
- Visual computing
Some schools also offer concentrations in a certain area of computer science, such as:
- Computer GraphicsComputer graphicsComputer graphics are graphics created using computers and, more generally, the representation and manipulation of image data by a computer with help from specialized software and hardware....
- Cybersecurity
- Game DesignGame designGame design, a subset of game development, is the process of designing the content and rules of a game in the pre-production stage and design of gameplay, environment, storyline, and characters during production stage. The term is also used to describe both the game design embodied in a game as...
- Information assuranceInformation AssuranceInformation assurance is the practice of managing risks related to the use, processing, storage, and transmission of information or data and the systems and processes used for those purposes...
Related degrees
- Bachelor of Computer Engineering
- Bachelor of Software EngineeringBachelor of Software EngineeringA Bachelor of Software Engineering is an undergraduate academic degree awarded for completing a program of study in the field of software development for computers in information technology....
- Bachelor of Science in Information TechnologyBachelor of Science in Information TechnologyA Bachelor of Science in Information Technology, , is a bachelor's degree awarded for the completion of an undergraduate course or program in information technology....
- Bachelor of Geoinformatics
- Bachelor of ComputingBachelor of ComputingBachelor of Computing is a bachelor's degree in Computing. This degree is offered only in some universities, and is slightly different from a B.Sc. in Computer Science or Information Technology or B.Sc IT...
- Bachelor of Information TechnologyBachelor of Information TechnologyA Bachelor of Information Technology degree is an undergraduate academic degree that generally requires three to five years of study to acquire. While the degree has a major focus on computers and technology, it differs from a Computer Science degree in that students are also expected to study...
- Bachelor of Computer Information SystemsBachelor of Computer Information SystemsThe Bachelor of Computer Information Systems is an undergraduate or bachelor's degree, similar to the Bachelor of Science in Information Technology and Bachelor of Computer Science, but focused more on practical applications of technology to support organizations while adding value to their...
- Bachelor of MathematicsBachelor of MathematicsA Bachelor of Mathematics is an undergraduate academic degree awarded for successfully completing a program of study in mathematics or related disciplines, such as computer science or statistics....
- Bachelor of Bioinformatics
- Bachelor of Computer ApplicationsBachelor of Computer ApplicationsBachelor of Computer Applications is an undergraduate academic degree in computer Science awarded in India after completion of three years course. B.C.A. or Bachelor of Computer Application is a course which is equivalent with B.Tech/B.E in Computer Science or Information technology. It is a...
- Bachelor of Science in Applied Physics