Skip to main content
Jump to
Jump to
Admissions
About Waterloo
Faculties & Academics
Offices & Services
Support Waterloo
Open Search Location
Search for
Search Location
On all sites
On this site
Cheriton School of Computer Science
Menu
Cheriton School of Computer Science Home
About Us
About Us
Our people
Administrative structure
School committees
Committee membership
International, national, provincial and Institutional awards
Annual highlights
Faculty fellowships
Welcome from the Director
Constitution
Quick facts
About Waterloo, Waterloo and Waterloo
Visit us
Contact us
Outreach
Research
Research
Awards | Achievements
Research areas
Technical reports
News
Events
Events
Distinguished Lecture Series
Rising Stars Seminar Series
Women in Computer Science
Mental Health
EDI
EDI
Community
Resources
Resources and services
Resources and services
Computer Science Computing Facility (CSCF)
Instructional Support Group (ISG)
Future undergraduates
Future undergraduates
Programs and courses
Computer Science
Business Administration and Computer Science
Computing and Financial Management
Software Engineering
Co-op and regular
Entrepreneurship
Tuition and scholarships
Applying | Admissions
Admission Information Form
Transfer students
Enrichment opportunities
Student support
Current undergraduates
Current undergraduates
Academic advising
Office hours
Plan requirement checklists
Co-op students
CS Advising FAQ
Course enrollment
Course selection
Department consent & waitlists
Suggested course sequences
New Course Offerings
Major programs and plans
Computer Science (BCS & BMath)
Breadth and depth
Specializations
Data Science (BCS)
First year students
CS transfers
Related programs and plans
Computing and CS minors
Business and Computer Science Double Degree
BBA/BCS advising
BBA/BCS course planning
Double Degree transfers
Double Degree FAQ
Student life and enrichment
Awards and research opportunities
Undergraduate Research Assistantship (URA)
NSERC USRA
Mathematics Undergraduate Research Awards (MURA)
Undergraduate Research Fellowship (URF)
Undergraduate research FAQ
Future graduate students
Future graduate students
Programs and courses
Scholarships and awards
Tuition and fees
Careers and Professional Development
Applying | Admissions
Frequently asked questions
Come visit us
Student Support
Current graduate students
Current graduate students
Policies and procedures
Programs
Funding and awards
Cheriton Graduate Scholarship
Internal Scholarship Application
Categories and areas of courses
Courses
Course calendar
Current course offerings
Enrolling in courses
Non-CS courses
Degree completion
Forms
MMath forms
PhD forms
Frequently Asked Questions
Graduate Advocate
CS Graduate Student Association
Graduate orientation
Life in Computer Science
Contacts
CS Graduate Manual
Student Resources
Teaching assistantships
±
DLS - Brian Kernighan
Brian Kernighan
Princeton University
What Should an Educated Person Know about Computers