- Faculty List
(For an up-to-date list of faculty and administrative roles, please see https://web.cs.toronto.edu/people/faculty-directory)
University Professor Emeritus
S. Cook, SM, PhD, FRS, FRSC
G. Hinton, PhD, FRS, FRSCProfessor Emeritus/Emerita
R. Baecker, MSc, PhD
D. Corneil, MA, PhD
J. Danahy, MScUrb & DesPl
W. Enright, MSc, PhD (University of Toronto Scarborough)
E. Fiume, PhD, FRSC
E. Hehner, MSc, PhD
G. Hirst, MSc, PhD (University of Toronto Scarborough)
K. Jackson, MSc, PhD
A. Jepson, PhD
H. Levesque, MSc, PhD, FRSC
R. Miller, MSc, PhD, FRSC
J. Mylopoulos, MSc, PhD, FRSC
R. Neal, PhD
C. Rackoff, PhD (University of Toronto Mississauga)
D. Wortman, MSc, PhDAssociate Professor, Teaching Stream Emeritus
T. Fairgrieve, PhD
D. Heap, MScSenior Lecturer Emeritus
J. Clarke, MSc, PhDUniversity Professor
A. Borodin, MSc, PhD, FRSCProfessor and Chair of the Department
E. de Lara, MSc, PhDProfessor
A. Aspuru-Guzik, PhD
R. Balakrishnan, MSc, PhD
A. Borodin, PhD, FRSC
A. Brown, MSc, PhD
M. Brudno, MSc, PhD
M. Chechik, MSc, PhD
C. Christara, MSc, PhD
E. de Lara, MSc, PhD
S. Dickinson, MSc, PhD
S. Easterbrook, PhD
F. Ellen, MMath, PhD
A. Farzan, PhD
D. Fleet, MSc, PhD (University of Toronto Scarborough)
Y. Ganjali, MSc, PhD
A. Goldenberg, MSc, PhD
E. Grinspun, PhD
T. Grossman, PhD
A. Gupta, PhD
V. Hadzilacos, PhD (University of Toronto Scarborough)
S. Kopparty, PhD
N. Koudas, MSc, PhD (University of Toronto Scarborough)
K. Kutulakos, MSc, PhD
P. Love, PhD
P. Marbach, MSc, PhD
S. McIlraith, MMath, PhD
M. Molloy, MMath, PhD (University of Toronto Scarborough)
G. Penn, MSc, PhD
T. Pitassi, MSc, PhD
T. Ristenpart, PhD
S. Saraf, PhD
B. Schroeder, MSc, PhD (University of Toronto Scarborough)
O. Shamir, PhD
K. Singh, MSc, PhD
S. Stevenson, MSc, PhD
L. Strug, PhD
S. Toueg, MA, PhD
K. Truong, PhD
R. Urtasun, PhD
D. Wigdor, MSc, PhD
R. Zemel, MSc, PhDAssociate Professor
I. Ahmed, PhD
A. Anderson, PhD (University of Toronto Scarborough)
J. Ba, PhD
A. Bonner, MSc, PhD (University of Toronto Mississauga)
J. Burgner-Kahrs, PhD (University of Toronto Mississauga)
F. Chevalier, PhD
D. Duvenaud, PhD
M. Erdogdu, PhD
S. Fidler, PhD (University of Toronto Mississauga)
R. Grosse, PhD
A. Jacobson, PhD
D. Levin, PhD
F. Long, PhD
K. Meel, PhD
M. Mehri Dehnavi, PhD
A. Nikolov, PhD
G. Pekhimenko, PhD (University of Toronto Scarborough)
C. Raffel, PhD
S. Sachdeva, PhD (University of Toronto Mississauga)
K. Serkh, PhD
N. Shah, PhD
B. Wang, PhD
N. Wiebe, PhD
Y. Xu, PhDAssistant Professor
N. Dayan, PhD
I. Gilitschenski, PhD (University of Toronto Mississauga)
U. Girish, PhD
A. Hithnawi, PhD
Z. Jin, PhD
R. G. Krishnan, PhD
A. Levis, PhD
D. Lindell, PhD
C. Maddison, PhD
A. Mariakakis, PhD
C. Nobre, PhD
G. Saileshwar, PhD (University of Toronto Mississauga)
F. Shkurti, PhD (University of Toronto Mississauga)
X. Si, PhD
R. Soden, PhD
A. Srinivasan, PhD (University of Toronto Mississauga)
R. Tell, PhD (University of Toronto Scarborough)
N. Vijaykumar, PhD (University of Toronto Scarborough)
N. Xie, PhD
Q. Zhang, PhD (University of Toronto Scarborough)Professor, Teaching Stream
J. Campbell, MMath
M. Craig, MSc
S. Engels, MMath, PhD
P. Gries, MEng
D. Horton, MSc
K. Reid, MScAssociate Professor, Teaching Stream
M. Badr, PhD
G. Baumgartner, MSc
D. Liu, MSc
F. Pitt, MSc, PhD
J. Smith, MScAssistant Professor, Teaching Stream
B. Aameri, PhD
J. Calver, PhD
S. Coyne, PhD (CLTA)
A. Gao, PhD
C. Gummaluru (CLTA)
P. He, PhD
H. Sha, MSc
S. Sharmin, PhD
L. Shorser (P/T)
J. Sun (CLTA)
M. Tawfik, BScCross Appointed
G. Bader, PhD
E. Bagheri, PhD
T. Barfoot, PhD
C. Beck, PhD
B. Beekhuizen, PhD
J. Bremer Jr., PhD
E. Cohen, PhD
W. Cunningham, PhD
E. Dunbar, PhD
M. Fox, PhD
T. Glatard, PhD
A. Goel, PhD
A. Goeva, PhD
S. Guha, PhD
M. Jeffrey, PhD
L. Kahrs, PhD
J. Kelly, PhD
V. Khovanskaya, PhD
P. Kim, PhD
M. Koziarski, PhD
A. Kuzminykh, PhD
B. Li, MSc, PhD
S. Li, PhD
D. Lie, PhD
M. Liut, PhD
A. Mihailidis, PhD
M. Moosavi, PhD
A. Moses, PhD
A. Moshovos, PhD
N. Papernot, PhD
V. Papyan, PhD
A. Petersen, PhD
H. Rien, PhD
D. Roy, PhD
S. Sanner, PhD
M. Stumm, MSc (Math), PhD
Q. Sun, PhD
Y. Sun, PhD
T. Tang, PhD
A. Veneris, MSc, PhD
M. Wainberg, PhD
E. Yu, MSc, PhD (Professor Emeritus)
W. Yu, PhD
Z. Zhang, PhD
S. Zhou, PhD
D. Zingaro, PhDAdjunct and Status Only
O. Balmau, PhD
M. Brubaker, PhD
B. Buxton, MSc
A. da Silva, PhD
K. Derpanis, PhD
P. Dietz, PhD
A-M, Farahmand, PhD
L. Frermann
M. Grech
H. Huang, PhD
C. Kemp, PhD
H. Kontozopoulos
A. Kreinen, PhD
K. Kuber, PhD
L. Leal-Taxie, PhD
E-S. Lee, PhD
L. Marsso, PhD
M. McCarthy
M. Medland
F. Rudzicz, PhD
M. Shuringa, PhD
B. Taati, PhD
A. Tagliasaachi, PhD
R. Valenzano, PhD
Introduction
What is Computer Science?
Despite the name, Computer Science is not really a science of computers at all. Computers are quite remarkable electronic devices, but even more remarkable is what they can be made to do: simulate the flow of air over a wing, manage communication over the Internet, control the actions of a robot, synthesize realistic images, play grandmaster-level chess, learn how to automatically translate between languages, and on and on. Indeed, the application of computers in activities like these has affected most areas of modern life. What these tasks have in common has little to do with the physics or electronics of computers; what matters is that they can be formulated as some sort of computation. This is the real subject matter of Computer Science: computation, and what can or cannot be done computationally.
In trying to make sense of what we can get a computer to do, a wide variety of topics come up. There are, however, two recurring themes. The first is the issue of scale: how big a system can we specify without getting lost in the design, or how big a task can a computer handle within reasonable bounds of time, memory, and accuracy? A large part of Computer Science deals with these questions in one form or another. In the area of programming languages and methodology, for example, we look for notations for describing computations, and programming methodologies that facilitate the production of manageable and efficient software. In the theory of computation area, we study resource requirements in time and memory of many basic computational tasks.
The second theme concerns the scope of computation. Computers were originally conceived as purely numerical calculators, but today, we tend to view them much more broadly. Part of Computer Science is concerned with understanding just how far computational ideas can be applied. In the area of artificial intelligence, for example, we ask how the function of the human brain can be expressed in computational terms. In the area of human-computer interaction, we ask what sorts of normal day-to-day activities of people might be supported and augmented using computers.
Computer Science Programs
Current students registered in the Faculty of Arts & Science interested in Computer Science (CS) can pursue the following programs:
- CS Major (ASMAJ1689)
- CS Minor (ASMIN1689)
In addition to the programs listed above, current students in the first-year Computer Science admission category (CMP1) may also apply to:
- CS Specialist (ASSPE1689)
Minor in Computer Science
The Minor in Computer Science provides an introduction to theoretical and applied computer science as a complement to your studies in other disciplines, and allows you to take up to 1.5 credits in 300+ level computer science courses.
Major in Computer Science
The Major in Computer Science builds on the content of the Minor, preparing you for upper-year computer science study with options to explore a few topics more deeply. Students enrolled in the Computer Science Major can integrate their studies with another discipline.
Specialist in Computer Science
The Specialist in Computer Science goes beyond the Major, providing a broad and deep foundation to computer science, and exposes you to a broad range of upper-year computer science topics.
Students enrolled in the CS Major or CS Specialist may choose to complete one or more Focuses in a particular area of computer science, such as: Artificial Intelligence, Human-Computer Interaction, or the Theory of Computation, among others. See below for a full list of focuses and their respective course requirements.
Data Science Programs
All Arts & Science students may apply to the following data science programs, which are jointly offered by the Departments of Computer Science and Statistical Sciences:
- Data Science Specialist (ASSPE1687)
- Applied Data Science Minor (ASMIN0160)
Students enrolled in the Data Science Specialist may choose to complete a Focus in a particular area related to data science. See below for a full list of focuses and their respective course requirements.
Applying to Computer Science Programs
For enrolment requirements please refer to the individual program requirements. There are separate admission requirements and introductory courses for students currently in the first-year Computer Science admission category (CMP1) and other Arts & Science students. More information, including information about the supplemental application form, is available on the Department of Computer Science website at: https://web.cs.toronto.edu/undergraduate/how-to-apply.
Note for Arts & Science students outside CMP1 applying to a Computer Science program
Only grades from CSC148H1 and CSC165H1/ CSC240H1 (completed on the St. George campus, not UTM or UTSC) will be accepted for purposes of application to the Computer Science Major and Minor and the Data Science Specialist.
Arts & Science Internship Program (ASIP)
The Arts & Science Internship Program (ASIP) stream is available to students who are entering Year 2 or Year 3 of study and enrolled in the Data Science Specialist, Computer Science Specialist, or Computer Science Major.
- Enrolment is limited and requires a supplemental application. Students enrolled in the ASIP stream will be required to complete mandatory Professional Development programming plus a minimum of 12 and maximum of 20 months (Year 2 entry) or a minimum of 12 and maximum of 16 months (Year 3 entry) of paid, full-time work experience. The time to degree completion for students enrolled in ASIP will normally be 5 years. There is an additional cost to participate in the ASIP stream.
- Students will typically be admitted to the ASIP stream for the Fall term of Year 2 of study, however in exceptional circumstances students, including transfer students, who enrolled in an eligible program in the Summer after Year 2 can be admitted to the ASIP stream for the Fall of Year 3. Acceptance into an ASIP stream in Year 3 is dependent on space and requires approval of the student’s academic unit and the Faculty of Arts & Science Experiential Learning & Outreach Support (ELOS) Office. Please refer to the ASIP eligibility page for further details.
- Further details about ASIP, including eligibility requirements and application procedures, can be found here. Students may also visit the ASIP webpage or contact the ELOS office at asip@utoronto.ca.
Contact Information
Undergraduate Office for all Computer Science Programs and Data Science Specialist Program
Website: https://web.cs.toronto.edu/
Email: cs.undergrad@utoronto.ca
40 St. George Street, Room 4207
Toronto, ON M5S 2E4
Canada
Undergraduate Office for the Applied Data Science Minor Program
Website: www.statistics.utoronto.ca
Email: ug.statistics@utoronto.ca
700 University Avenue, 9th Floor
Note About Program Completion
Students can complete only one program type – Specialist, Major, or Minor – in an individual area referenced with the same four-digit program code.
The Computer Science programs impacted by this policy: ASSPE1689, ASMAJ1689, and ASMIN1689
Regarding Computer Science Courses
Enrolment Notes
Priority enrolment
Most CSC courses at the 200-level and above offer priority enrolment to students in Computer Science programs. Consult the Timetable for details.
Limits to upper-level courses
Students not enrolled in Computer Science Major or Specialist programs are limited to a maximum of 1.5 credits in 300+ level CSC/ECE courses, with two exceptions:
- Students enrolled in the Engineering Science Robotics Engineering, Electrical and Computer Engineering, or Machine Intelligence Majors are instead limited to a maximum of 2.0 credits in 300+ level CSC courses.
- Students enrolled in the Arts & Science Bioinformatics and Computational Biology Specialist are limited to a maximum of 2.5 credits in 300+ level CSC/ECE courses.
Prerequisites
For Arts & Science students, no requests to waive prerequisites are considered in 200-level courses except for CSC240H1 and CSC265H1, where appropriate, and students without prerequisites will be removed from the course. For upper-level courses, students without prerequisites must obtain permission to remain enrolled in the course through the department's prerequisite waiver process. Please contact the CS Undergraduate Office (cs.undergrad@utoronto.ca) for information about the prerequisite waiver process.
- Concerning Prerequisite Courses with an Approved SDF:
Students who have been granted a petitioned deferred examination in a course that serves as a prerequisite for subsequent CSC courses may enrol in those subsequent CSC courses provided they obtain the approval of the CS Undergraduate Office, and provided the term mark in the prerequisite course with the petitioned examination is at least 60%. If approval from the Undergraduate Office is not obtained, there is a risk that students may be removed from the subsequent course during a prerequisite check and reinstatement may not be possible if the course is full.
- Concerning Prerequisite Courses with an Approved SDF:
Students with transfer credits
If you have transfer credits in Computer Science, or a similar subject, for courses done at another university or college, contact the CS Undergraduate Office for advice on choosing courses. Also ask for advice even if you don’t have transfer credits yet but are considering degree study at the University of Toronto.
- Concerning Counting Transfer Credits Towards Prerequisite Requirements:
The Department of Computer Science accepts approved transfer credit courses as equivalent to specific prerequisite courses during the prerequisite check process. However, if the prerequisite course has a minimum grade requirement, students may be required to provide an official transcript from the institution where they originally completed the course. Students planning to use transfer credit(s) towards a course prerequisite are advised to contact the CS Undergraduate Office as soon as they enrol to ensure eligibility.
- Concerning Counting Transfer Credits Towards Prerequisite Requirements:
First-Year Foundations Seminars
First-Year Foundations Seminars are open only to newly-admitted, Faculty of Arts & Science students (3.5 credits or less). They are full-credit or half-credit courses that focus on discussion of issues, questions and controversies surrounding a particular discipline (or several disciplines) in a small-group setting that encourages the development of critical thinking, writing skills, oral presentation and research methods. FYF seminars are as rigorous and demanding as any other first-year course and require in addition the acquisition of those skills expected of successful undergraduate students. With a maximum enrolment of 30 students each, they are an ideal way to have an enjoyable and challenging small-class experience in your first year. First-Year Foundations Seminars count as 0.5 or 1.0 of the 20.0 credits required for an HBA, HBSc or BCom and can be counted towards the breadth requirement.
Courseography
The Department of Computer Science provides Courseography, an interactive tool for exploring course options and pathways our department.
Advice on choosing courses towards a Major in Computer Science
A Major program in any discipline may form part (but not the whole) of your degree requirements. The Major program in Computer Science is designed to include a solid grounding in the essentials of Computer Science, followed by options that let you explore one or a few topics more deeply. You will also realize what areas you have not studied and be ready to explore them if your interests change after completing the Major.
To give you freedom to choose your path through Computer Science, we have designed the Major to include a minimal set of required courses. There are some courses that we think you ought to consider carefully as you make those choices. CSC373H1 is fundamental to many more advanced Computer Science topics, where designing appropriate algorithms is central. CSC209H1 is a prerequisite to effective work in many application areas. Additionally, you may wish to select a Focus as part of your Major program.
A significant role of the Major is to allow you to integrate your studies in Computer Science and another discipline. For example, many Computer Science students are also interested in statistics, economics, physics or mathematics. In those cases, it makes sense to enrol in a Major in one discipline and either a Major or a Specialist in the other. Explore some more suggestions from the department about combining Computer Science with other programs at the Departmental webpage.
If you are doing two Majors in related disciplines, you might want to consult your College Registrar’s Office for advice on satisfying the degree requirements with overlapping Majors.
A Major program may not be enough to prepare you for graduate study in Computer Science, though a complete Specialist is not typically required. Consult the CS Undergraduate Office for advice and referrals if you are a student in the Major considering graduate study in Computer Science.