Faculty Spotlight: Josh Levine

Sept. 21, 2020

Josh Levine, Associate Professor

Josh Levine has recently been promoted to Associate Professor in the Department of Computer Science at University of Arizona. He grew up in Ohio (Toledo, then Cleveland) where he did most of his university-level studies. He received his PhD in Computer Science from The Ohio State University in 2009 after completing BS degrees in Computer Engineering and Mathematics in 2003 and an MS in Computer Science in 2004 from Case Western Reserve University. Josh was an assistant professor at Clemson University from 2012 to 2016 and started working in Arizona in 2016. He is a recipient of the 2018 Department of Energy Office of Science Early Career Research Program award. His research interests include visualization, geometric modeling, topological analysis, mesh generation, vector fields, performance analysis, and computer graphics.
Where are you originally from?
Mostly, I grew up in Ohio (Toledo, then Cleveland), and that's where I did most of my university-level studies (Case Western Reserve for undergraduate, Ohio State for graduate)   These days, my family now lives in Chicago.  Generally speaking, I've spent a lot of time exploring the midwest and think of it as "home".
Growing up, what did you want to be?
Hah!  My first memory is wanting to be a garbage man because they got to ride around on the side of the truck.  Later, (a byproduct of growing up in the 80s and watching lots of Star Trek) I wanted to be an astronaut.  When I started undergraduate, my interests had shifted and I wanted to develop video games.
What attracted you to academia? 
Coincidence more than anything else.  During undergrad I started taking graduate classes and someone recommended I consider a BS/MS program.  Then someone recommended I consider doing a PhD.  By then, I had given up on the idea of working in the video game industry (game programmers can work pretty insane hours).  
In the background, I had been a math tutor in high school and an undergraduate TA for CS, so I was already primed with the idea of teaching.  And through my MS degree, I had a taste of research which I really enjoyed.  During graduate school, while I considered other options for careers, I did start with the intent to eventually be a professor and managed to stay the course.  
Can you tell me a little about your research and what led you to your field?
My research falls at the intersection of things that can be done visually with problems that benefit from applying interesting mathematical frameworks.  While it's evolved over time, these days I focus mostly on visualizing data from physical simulations (e.g. climate simulations, energy applications, astrophysics).  Often, these datasets contain interesting features that can be described through either geometric or topological properties.  Quite literally, I study techniques that help to extract the "shape" of data, which in turn leads to properties we can show end users.
I got here by being interested in a few different things that all came together unintentionally.  First off, since I was interested in video games I naturally gravitated towards computer graphics as a field.  Second, I double majored in mathematics, and have always been excited by it.  
In grad school, I focused on this intersection by studying geometric modeling and mesh generation; this research helps us construct representations of data that ultimately can be used to run simulations.  For example, when a company like Boeing wants to try out their next airplane design, someone has to first build a discrete representation (a "mesh"), on which they then run a computational fluid dynamics (CFD) solver to compute how airflow impacts the structural integrity of the body.  These simulations replace costly prototyping/testing (i.e. building a model and putting it in a wind tunnel), but also allow a much deeper analysis.  That analysis is done by generating data (from the simulation).  Lots of data.  It turns out there are many interesting problems in what to do with it.
So, to sum up: in grad school I focused on the input to simulations, and since I've focused more on the output of simulations.  Luckily, I get to use a lot of the same tools (graphics, geometry, topology, etc.) in both.  A plus for me is I also get to do a mix of hacking code, thinking about theoretical questions, and working with application experts.  And, I usually get to "see" things and learn about lots of other domains I never imagined I would study when I started in computer science.
What projects are you working on right now?
My group is focusing on areas right now that fall at the intersection of where visualization can be improved by (carefully selecting) tools in machine learning.  There are lots of opportunities here to address limitations with some of our more classic approaches to visualization. 
My most active project is focusing on studying topological properties of simulations that produce many simulation outputs that need to be analyzed simultaneously.  A great example of this is climate simulation.  These multiphysics codes model all aspects of climate -- spanning land, air, and sea -- including temperature, pressure, humidity, precipitation, sea ice temperature, wind flow, ocean flow, and more.  These codes are enormously complex because they're trying to find the most accurate prediction possible of a huge chaotic system.  While we have powerful tools to study any one aspect (e.g. temperature), our tools for analyzing combinations of aspects (e.g. what does air temperature tell us about humidity combined with sea ice levels?) are somewhat less developed.  Particularly, the tools that tell us about shape by analyzing topological properties work great for one-at-a-time analysis, but don't yet address this use case.  Machine learning, on the other hand, works great for looking at distributions of data.  This project thus asks "how can we use machine learning to study the shape of many variables simultaneously?"
Anything cool/innovative going on in any of the classes you teach that you want to share?
I'm spoiled in that I get to teach classes full of visual examples to show students (typically, I teach computer graphics and visualization topics).  I like to believe these topics inspire our students to think differently about "What is computer science?".  It's not just how fast or efficient an implementation is, how to build the next best programming language, compiler, or operating system, or proving something about an algorithm.  The classes I teach show off "what can people do with computers" by revealing lots of applications that would be impossible without some kind of visual element.  Certainly, this isn't unique to just the courses I teach, but I do think it makes them a ton of fun.
What do you enjoy most about your work?
Being a faculty member is hard but extremely rewarding.  It's difficult because we're asked to be good at lots of different jobs at all once: find and solve interesting, difficult research problems; be a good mentor and train others to do research; be an excellent teacher; be an effective communicator; lend a hand in running the department; and generate prestige by becoming a world expert.  It's extremely easy to overcommit and it's often hard to prioritize.  That said, I love the overall diversity of it -- nothing about this job is boring.  And it's hard to beat that moment when an idea pans out or when things finally click with a student you're working with.
What advice would you give to an aspiring educator/researcher?
The hardest part about teaching (for me) has been realizing that everyone needs a slightly different push to learn.  Being able to put yourself into someone else's perspective, understanding their background, and explaining things on their terms is really difficult.  Learning how to explain the same concept multiple ways is a great way to show you've mastered it.  
Similarly, being a good researcher requires one to look at a problem in multiple different ways.  I've gotten a lot of bang-for-my-buck by being able to bring knowledge from different areas to a problem.
Planning is also hugely important in research.  Arguably finding interesting problems is more challenging than solving them.  Spending time planning out how you'll pursue a problem, what are the potential risks, and how you'll evaluate success can provide a lot of structure to make sure you don't waste time on distractions.  I learned this pretty late as a researcher -- getting organized and being efficient with your time makes a huge difference in the long term.  This is particularly important to know for research because research is a long term process.
How do you like to spend your free time?
I've always been a fan of camping/hiking, but over time I've really expanded the set of outdoors things I do.  These days, I love skiing when I get a chance and usually will try to run a couple of times a week.  I also like cooking/baking/eating/food in general, but I've spent more time learning about it than I've had time to put into practice.  And, as you might imagine from my career path, I also spend plenty of time playing/watching video games.
What would people be surprised to learn about you?
Other than my early aspirations to work in waste management?  Folks seem pretty surprised to learn I'm horrible at chess (despite trying once and generally being good at many other games).  It just never stuck.