For postdoc applicants: I currently have no funding for postdocs.
For Ph.D. applicants: A word of warning: professors get a lot of emails asking about research positions. Most of these are mass-emailed form letters and are ignored.
I don't expect a prospective student to have read all of my papers or solved open problems from them. I do, however, expect a prospective student to know what I research (molecular computation) and what the work involves (proving theorems mostly, with the potential for some experimental work if the student is interested). I'm much more likely to respond to emails that are clear on at least these two points. Of course, if you have an idea for a problem to work on, or an idea for how to attack an open problem from one of my papers, do feel free to talk about that!
But otherwise, it's a good idea to talk about a creative project you've worked on, preferably outside of class (or that started in class but continued far beyond the expectations for a good grade), something that you are proud of, and how you think it demonstrates that you might have what it takes to do research in theoretical computer science. Ideally, this will be a previous research project in theoretical computer science, but not necessarily.
For UC-Davis undergraduate students interested in research: The advice to Ph.D. applicants above applies. Additionally, since you're already at UC-Davis, note that I occasionally teach a course on my research, ECS 289A: Theory of Molecular Computation. Taking this class is a good way to learn about foundational research in my field and can be the start of an undergraduate research project.
Timing is an important issue: most research projects take a while, and a single quarter or summer is not enough time to complete it. Rather, it's enough time to start it, and you might spend the whole next year actually getting the results and writing a paper. So it's best to look into this before your final year.