PhD/MSc/UG openings at McGill University in Programming Languages

I’m looking for the brightest students to join my group at McGill working in the area of theoretical foundations of programming languages, type theory, logic, and automated reasoning. McGill has quite a diverse student community and particularly welcomes applications from under-represented groups (e.g. women, LGBTQ, Indigenous people, members of visible minorities).

You can find below some examples of research topics of interests. But in general, if you have an interest in doing research in foundations of programming languages and type theory, check out our recent papers and talks. Do not hesitate to contact me to discuss possible project ideas. Possible research topics include:

  • Logical foundations of programming languages;
  • Type theory (Dependent Types) and Type systems;
  • Programming and Proof environments.
  • Mechanizing formal systems and their meta-theory;
  • Automated reasoning (specifically automating proofs about formal systems);
  • Meta-Programming;
  • Data-driven program and error analysis;

Application Process

The application process is highly competitive. Please only contact me if you have :

  • A high interest in conducting programming languages research;
  • Strong background in functional programming, programming languages design, type systems, or logic;
  • Strong programming skills (especially in functional programming);
  • Good knowledge of Linux/Unix;
  • Evidence of being able to work independently, leadership skills, and/or other relevant curricular/extra-curricular activities that may be relevant
  • A high CGPA (average grade) (see equivalence for international applicants).

How to contact me

Before applying formally, feel free to contact me by email.

Please follow the following instructions when writing your email to increase your chances of receiving a reply. If you don’t hear back from me, this most likely means your profile is not a good fit to work in my research group.

  • To:
  • Subject: “Prospective student for a position in your group”
  • Body:
    • Specify if you are interested to do a MSc, PhD or undergrad internship/project
    • Are you a Canadian/Canadian citizen, Quebec resident, or international student?
    • What attracts you to programming languages research?
    • What is your background and how does it relate to the ongoing work in our group?
  • Attachments:
    • CV
    • Short research statement (1-2 pages)
    • MSc and/or undergrad research thesis/report and/or relevant research presentations
    • Transcripts from undergrad/MSc (no need for official documents at this stage)
    • Any publications you may have

Official application information:

Once we have discussed your application by email, and potentially via a conference call, please apply through the McGill application website in the School of Computer Science, selecting me as your preferred supervisor. More information about graduate admission to the School of Computer Science can be found

The deadlines for international students requiring financial support are:

  • CS: January 1st for Fall admission & September 1st for Winter admission

If you are a Canadian citizen/permanent resident and / or a Quebec resident, then you should apply for scholarships from the Candian government (NSERC) and the Quebec government (FRQNT) in Fall before you apply for graduate admission in December/January and contact me early in the process.

Design downloaded from Free Templates
Picture taken by B. Pientka and D. Schlimm