Computer Science is the study of computation. For any given problem, a central question is whether a solution can be computed, and, if so, what are the most efficient and practical ways to carry out the computation. Computer science also involves questions that have the potential to change how we view the world. What is the nature of intelligence and can we reproduce it in a machine? How do we represent the knowledge we have about the world and apply this knowledge to help make better decisions?
A computer is a mechanical device that manipulates symbols according to specified rules. As a discipline, computer science lies at the intersection of mathematics, science, and engineering, but it also has very strong ties to many other disciplines. Bioinformatics employs computers for storing and analyzing protein and genome sequences in order to interpret and predict biological structure and function. Business is served by providing the means to perform complex calculations and to interpret large amounts of data to make informed business decisions. The film industry relies on computer-generated graphics for three-dimensional animation. Psychology and philosophy share with computer science the desire to understand the nature of reasoning, learning and intelligence. Computer Science has many subfields, such as algorithms, artificial intelligence, automated theorem proving, databases, graphics, high-performance computing, networking, programming languages, robotics, security, and verification. A common misconception is that computer science is equivalent to programming. Programming is a necessary tool, but it is not the focus.
The Department of Computer Science offers courses leading to BA and B.Sc. degrees with Major, Advanced Major, and Honours in Computer Science as well as a B.Sc. Advanced Major degree in Computer Science with Business. All degrees closely follow the Computer Science curriculum recommendations of the 2001 ACM and IEEE Computing Curricula. Students must meet the general requirements of both the faculty and the department in which they are registered.
Students completing a program in computer science have a wide variety of options, including graduate studies in emerging areas of computer science such as robotics, computer-aided vision, and artificial intelligence; and employment in areas such as systems and network analysis, software engineering and computer programming, database, information technology consulting, and data communications. Students are advised to choose their program of study in consultation with faculty and the chair of the Department of Computer Science.
- BA with Major, Advanced Major, and Honours
- BA Honours with subsidiary subject programs are available with the departments of economics and English
- B.Sc. with Major, Advanced Major, and Honours
- B.Sc. with Advanced Major in Mathematics with Business Administration
- Joint B.Sc. programs are available with the departments of biology, chemistry, earth sciences and physics. Students interested in these programs should consult with the relevant department chairs.