Main navigation
- Programs
- Subjects
- Universities
- Destinations
- Advice
The David R. Cheriton School of Computer Science is globally recognized for excellence in education, scholarship, investigation, and career preparation. We draw outstanding students worldwide to learn and collaborate with our distinguished faculty. You'll engage in diverse research initiatives alongside world-renowned experts. Our academic inquiry covers the entire spectrum of computer science, ranging from fundamental studies in systems, theory, and programming languages to areas like human-computer interaction, DNA computing, quantum technologies, and both theoretical and practical machine learning applications. Graduate students benefit from: Dedicated research laboratory facilities. Chances to publish in leading academic conferences and journals. Platforms to present findings at top-tier conferences attended by peers, industry professionals, and field specialists. Doctoral candidates enjoy academic freedom to explore their chosen research domains under faculty guidance. Those continuing advanced studies will collaborate with advisors to craft original theses. PhD students are expected to produce significant research that advances their academic discipline.
Programming languages serve as essential bridges between human concepts and computer-executable implementations throughout all computer science domains. Numerous specialized programming languages have emerged, each serving distinct purposes across varied computing contexts. The Programming Languages Group (PLG) investigates this entire spectrum: from language architecture and parsing to type systems, analytical methods, code production, and execution environments. PLG also studies software development processes - including creation tools, code interpretation, optimization, troubleshooting, and programmer efficiency. The fundamental research objective is simplifying the translation of human concepts into computer-executable formats, achievable at various levels within the intricate software hierarchy.