Frances Cooper

Frances Cooper

During my PhD: University of Glasgow


During my PhD (graduated 2020), I designed algorithms, proved their correctness, implemented them and evaluated their performance. My main outreach activities included supporting career progression for women in tech (see GWiCS), and teaching basic CS skills (see Program-Able).

My work

I am now a Software Engineer at Google.

During my PhD (graduated 2020), I worked in an area of Theoretical Computer Science known as Matching Problems. We have a matching problem when we want to assign one set of things to another set of things based on preferences on one or both sides. Examples of matching problems include assigning students to projects, kidney donors to kidney patients and graduating doctors to hospitals.

For this final example, doctors rank hospitals in order of preference indicating where they would like to take their placement. Hospitals likewise rank students based on priorities such as how well they perform at interview or their GPA. In this setting, we want to find a stable matching, that is, a matching in which no student-hospital pair has reason to deviate from the allocation and assign to each other. Algorithms developed for this problem were used as early as 1952 in the National Resident Matching Program (NRMP). This scheme assigns doctors to placements in the US and is still being used to find optimum allocations benefiting hundreds of thousands of doctors and hospitals.

In my research, I developed new fast algorithms to solve a variety of matching problems such as the one above. I proved my algorithms’ correctness and implemented them in software for both experimental research work and real world use.

Online Presence


My website


My GitHub page

My Bitbucket page

Follow me on Twitter

My LinkedIn


Check out contributions by and mentions of Frances Cooper on