Michelle Mills Strout
Prospective Students
I am always looking for highly motivated and skilled graduate and undergraduate students who are highly motivated to do research. Graduate research
assistantships pay tuition and a monthly stipend or hourly. Undergraduate
research assistantships pay hourly. Read this entire message for information about applying to the graduate program in our department. Please see
my website for a list of
my current students and alumni.
Research Projects
We have a number of ongoing, exciting projects in the
CompOpt4Apps: Compiler Optimizations For Applications Research Group.
Many of these projects involve developing performance programming abstractions for sparse computations that occur in molecular dynamics simulations, finite element methods, and other algorithms such as PageRank, which is used by the Google Internet search engine. Our paper titled
Compilers for Regular and Irregular Stencils: Some Shared Problems and Solutions reviews some of our research projects.
Training Students for Research Careers
The goal for a graduate student is to contribute to the field of computer science by solving sub problems that have not been solved before or by solving sub problems in a novel way. A PhD indicates that a person is able to frame a research problem of interest, create a novel approach for solving that problem, carry out the solution to the problem, thoroughly evaluate the results, AND effectively communicate the problem, context, approach, and expected evaluation throughout the whole process. In computer science research communication takes the form of conference papers, journal papers, technical reports, talks, posters, user and developer manuals for software, and weekly progress reports. Students in my group are trained to do all of the above through weekly one-on-one research meetings, group research meetings, and ad hoc meetings initiated by students or myself.
Typical Research Students
Successful research students in the
CompOpt4Apps: Compiler Optimizations For Applications Research Group
typically fit the following criteria:
- He or she has a strong background in Computer Science with systems courses such as compilers, parallel programming, operating systems, networking, and/or architecture and core courses such as programming languages and algorithms.
- He or she is willing to work hard. Research can be very rewarding, but it has its long stretches of frustration as well.
- He or she has a strong interest in developing programming abstractions for use in scientific computing. My students have done internships at the National Center for Atmospheric Research (NCAR), Lawrence Livermore National Labs (LLNL), Cray, and Intel.
- Before joining the research group, he or she reads some of the papers written by the group.
- He or she has good communication skills so they are able to effectively communicate their research to others in writing and orally.
He or she is willing to learn how to use software by finding tutorials and other materials on the internet. We use tools such as various programming languages, latex, git, subversion, project management systems, performance analysis tools, debuggers, valgrind, unit testing frameworks, etc. on a day-to-day basis. Students in my group are expected to navigate the learning curves for such tools in an efficient manner and then help teach more junior students.
Sending Me Email
Selecting an advisor (and having that advisor select you) is
THE MOST IMPORTANT part of determining where you plan to go to
graduate school. Many prospective students have figured this out
and therefore send faculty emails with their CV asking if a faculty
member has a position for them. This is fine, but often these
emails from prospective students are form emails that have clearly
been sent to multiple faculty. For example, I have received emails
addressed "Dear Sir" (I delete those) and "Dear Prof. Someone not me"
(I delete those). Make sure you KNOW who you are sending the email
to and you have carefully thought about how you might fit
into my research group. See
Dr. Tamara
Denning's great
suggestions about how to contact faculty and illustrations of what faculty
think about the emails that are generic and vague.
Apply to Graduate School at the University of Arizona
Go to the
University of Arizona
Computer Science Department webpage.
Click on Graduate Info. On the right-hand-side, click on
Application Instructions under "For Prospective Students"
and follow the provided instructions.