My home department is the College of Information Science, and I am cross-listed (i.e. can supervise graduate students) in Computer Science and Linguistics.
I am a member of the Computational Language Understanding Lab (CLULAB) at the University of Arizona.
Past Students
My past students have gone on to become faculty, win awards and top internship offers, work at NASA, successfully apply to PhD programs, or have successful careers in industry.
Prospective Students
Routes: There are three typical routes that I take on students:
- PhD/MSc student primary advisor: You’d like to apply to work with me for about 4 years as your primary PhD advisor (or 1-2 as MSc advisor).
- Per-project student: I regularly hire for specific projects, that tend to last between 6 months to 1 year, for students with experience.
- Just starting out: You’re just starting out, the work I do sounds interesting, and you want to to try getting your feet wet in research.
Application Materials: When you send me an e-mail, please include the following items:
| Item | Why |
|---|---|
| CV | Understand your educational background, list of prior publications, and past research experience. |
| Code Portfolio | The best predictor I have found of future success is past success. I’d like to see your past projects/code, ideally as GitHub links. |
| NLP/AI Coursework | What NLP (ideally) and AI (nice-to-have) courses have you taken? |
| Papers / Interest | Which of my recent paper(s) or codebases have you read? What kind of projects, related to them, are you most interested in working on? |
| Relevant Experience | I am most interested in students with past demonstrated experience in things I work in: agents, code generation, and scientific discovery. |
Typical Positive Predictors:
- You have read things I have published, and are interested in similar things (so there’s a good research fit)
- You have past research experience (so you know you like research)
- You have excellent time management skills, and know how to get things done (we’re here to make the future happen)
- You can show me significant code projects that you have personally written, that are the product of your own intellectual labor, and not AI/LLM generated (so I can understand your current skills)
- You have some way of demonstrating that you are intrinsically self-motivated and enjoy science (science is hard, and it usually takes many tries to figure out the right way to do something; you have to love it to be a researcher).
- Have a good/strong background in symbolic (data structures + algorithms) rather than numerical computing, which typically comes from having an undergraduate in Computer Science, and sometimes Electrical Engineering (NLP is symbolic rather than numeric, for the stuff I do).
Typical Negative Predictors:
- Writing ChatGPT-generated e-mails
- LLM / Claude-code generated projects, papers, etc — strong negative predictor! Do not send me these!
- Can show only very old/simple projects: sentiment analysis with BERT, etc.
- Can’t share any significant code.
- Don’t have much/any NLP knowledge/experience.
Unicorns:
There are, every now and again, “unicorn” students that don’t fit the mold/haven’t taken the traditional path, who have never taken an NLP class, never done official research, but are absolutely incredible thinkers who get a lot done, and are super interested in jumping in. If that’s you, don’t be discouraged, and just let me know somewhere in your e-mail (as simply as by using the word ‘unicorn’).
What I’m like as a supervisor:
- Compared to other faculty, I tend to invest fairly heavily in students in terms of resources. We’re here to get major science done, and build careers.
- Most of my projects begin with descriptors like “the largest”, “the most detailed”, “first of its kind”, and so forth — I like to work on challenging projects.
- I’m an active researcher, not just a manager, and I write code/do science every day.
- I expect that we get a lot of science done most days, even though the research path is sometimes less predictable than expected.
- I aim for impact — as publicly funded scientists, we want to have a positive impact, and be a good return-on-investment.
- I believe very strongly in work/life balance. I have a family and a little kiddo, I work my (very busy) 8 hours.
- I believe very strongly that its important for everyone to be wonderful, kind, supportive human beings to one another.
- I am Canadian, and you can basically apply most of the common stereotypes to me (except being a lumberjack; though my grandfather was one!)
What the process usually looks like:
Working with students towards doing exciting/interesting science (and helping watch them grow as scientists) is one of the most rewarding parts of the job. It is also a very large resource investment (time, funding, compute, etc.), and the process is aimed at de-risking this to have high confidence that the student will be successful:
- Send me an e-mail, with the start of the subject line containing [BANANA], so I know you read this.
- If it looks like there’s a good fit, we may find a time to chat.
- If you are doing computer science heavy work, every student must pass a coding interview (either in-person or Zoom; no AI allowed; no take homes due to AI cheating/etc). This isn’t intended to be hard.
- We’ll take it from there, and see if there’s exciting science to work on together.