I love teaching computer science because I love sharing my passion for the discipline with others, especially those who have had no or little prior experience with it. CS is an especially exciting field of study because it enables creativity—with a foundational background in Computer Science, people can build amazing and world-changing things.
As a teacher, I believe that students learn best when they want to learn. I see my job, then, as to not just to expose students to new ideas, but to show them why these ideas are exciting and interesting.
The broad area of my research is distributed systems—systems that are composed of many computers that communicate by message passing.
My work is a blend of theory and applications. My early work focused on reasoning about properties of algorithms other than correctness—for example, whether an algorithm is as concurrent as possible, or whether it introduces unnecessary synchronization.
More recently, my work skews to the applied, specifically in infrastructure to support large-scale data analytics, particularly serverless architectures.
Outside the Classroom
I am originally from Cleveland, Ohio, and received my Ph.D. from The Ohio State University. After my Ph.D. work, I was faculty at Moravian College in Bethlehem, Pennsylvania, where I taught a variety of computer science courses. I left Moravian to work for Google, where I built streaming data analytics platforms for both internal and Cloud customers. Though it was exciting to work on Google-scale distributed systems, I missed the fulfillment that teaching undergraduates provides me, and joined Rhodes in 2019.
I live in Downtown Memphis and outside of the classroom I enjoy food and cooking, ice hockey, running, and photography, among other hobbies.