Skip to main content
Undergraduate Research Program

Nate Yazdani

Yazdani, Nate
Major:Computer Science
Mentor: Ras Bodik, Computer Science & Engineering


Current research project: Static Schedule Synthesis for Layout Engines




Translate your work so that we can all understand its importance
In computer science, many problems boil down to static scheduling of computation or, in other words, planning ahead of time when to compute what. Until now, solving a static scheduling problem required either designing a custom algorithm or modeling the problem for a logic solver. Both approaches are susceptible to human misinterpretation of the problem, especially when nontrivial designs are used to gain performance. Since scheduling often requires time exponential to the size of the problem, such designs are a practical necessity. My work automates the creation of efficient logical models given only a natural programmatic specification of how to interpret a solution and includes an application to layout engines for data visualization.

What is the most exciting and/or rewarding aspect of your undergraduate research experience?
Besides the plain coolness of pushing the boundary of human knowledge, the community that I’ve found through research has been amazing. When you’re just getting started, it may feel like you’ll never know half as much as everyone around you, but those people are often more than willing to help guide you on your way. It’s a really satisfying feeling when you can read a paper that was impenetrable to you a year ago and understand every word of it.

What advice would you give a student who is considering getting involved in undergraduate research?
Undergraduate research is what you make of it. Research advisors value genuine interest, willingness to learn, and drive a lot. Don’t be afraid to be wrong or admit you don’t know something; that’s how you learn.