Areas of Expertise

Approximation Algorithms, Network Design Problems. Selected areas in Operations Research, Graph Theory, Algorithmic Game Theory.


Dr. Anthony teaches a variety of computer science courses, including the introductory courses in Java and Data Structures, core courses in Discrete Math, Algorithms, and Programming Languages, electives in Databases, Operations Research, and Theory of Computation, and the capstone in Software Engineering. She also teachers a First Year Seminar exploring the Internet and a variety of web applications. She also enjoys independent studies with students, whether it’s a first-year exploring a new topic or a senior doing new research as part of an honors project. She is currently the faculty advisor for UPE, the CS Honor Society, and is happy to help organize a number of CS-themed events throughout the year.


PhD, Carnegie Mellon University 2008
BA, Rice University 2001

Teaching Philosophy

Computer Science is relevant for everyone these days, and has great interdisciplinary potential, especially at a liberal arts institution. As such, I believe lower-level courses should be accessible to any SU student, and students should be exposed to both the breadth and depth of the field.

Previous Courses

Computer Science I (in Java); CS II: Data Structures; Discrete Mathematics; Algorithms in C++: Programming Languages; Theory of Computation; Operations Research; Computer Science Capstone: Senior Seminar in Software Engineering, CS Colloquium; First-Year Seminar; Various Independent Studies and Reseach Projects


Details about some of my research can be found in my publication list below, but one of the reasons that I came to Southwestern is so that I can work with students on research projects, not all of which lead to publications, though some do. Descriptions of some of the projects with students follow.

If you are an SU student interested in doing research with me, please email or drop by my office!

Spring 2017: Ryan Beeman continued a course project from my Operations Research course to develop a scheduling tool for Faith in Action Georgetown, a central Texas-based nonprofit organization whose primary goal is to preserve the independence of local senior citizens by providing them transportation to errands, social events, and medical appointments. As a non-profit organization that relies heavily on the support and activity of volunteers, efficient use of their limited funding and staff time is crucial in maintaining positive relationships with volunteers and providing the most benefit to the community. Prior to this project, Faith in Action spent a substantial amount of time scheduling rides by pairing clients (senior citizens who requested a ride) with volunteer drivers. Motivated by operations research techniques, we developed a tool to improve the scheduling process. Using data from Faith in Action’s database we created a user-friendly Excel spreadsheet to calculate a volunteer driver’s “willingness” to accept any particular ride. By contacting volunteers with a higher willingness score first, schedulers can more quickly match clients with drivers, thus reducing the total time necessary to complete scheduling each week, while maintaining a personal interaction with volunteers. Ryan plans to gain some work experience and then enroll in a master’s program in Data Science.

Spring 2017: As a first-year computer science major, Austin Moninger worked with me to develop Java code used in ongoing research about Doodle polls. Online Doodle polls allow for the selection of a ‘good’ meeting time, with participants indicating their availability for a selection of times provided by the poll creator, essentially by voting yes or no to each time slot. Yet, a single participant can greatly impact the quality of the selected time, as measured by the total social welfare, either positively or negatively. We seek Nash equilibria: informally, there is a certain appeal when all participants look at the overall responses and cannot change their reported availability to better their personal outcome based on what other individuals have indicated. We implement Java code that aids in checking for Nash equilibria while maintaining that responses must be sincere, ensuring that no one says no to a time slot that is more desirable than one to which they said yes. This research helped Austin obtain an REU at Texas State in summer 2017.

Fall 2014 - Fall 2015: Christine Harbour and Jordan King worked with me on empirically evaluating approximation algorithms for various problems. The earlier work resulted in a paper for them in the Consortium for Computing Sciences in Colleges: South Central Region Student Paper E-Journal titled “An Empirical Evaluation of a k-Center 2-Approximation Algorithm”, which they were able to present at the April 2015 conference. Later work then focused on approximation algorithms for bottleneck matching, and Christine presented a poster at the 2015 Grace Hopper Celebration of Women in Computing entitled “An Empirical Evaluation of Approximation Algorithms for Two Graph Problems”. Her 2016 poster at the Consortium for Computing Sciences in Colleges: South Central Conference, “An Empirical Evaluation of Approximation Algorithms for Online Bottleneck Matching”, earned first place in the student poster competition. The culmination of the work resulted in a co-authored paper on “Greedy Is Good: An Empirical Evaluation of Three Algorithms for Online Bottleneck Matching”, whose detalis are in the publication list. Christine is a Software Developer at eOne Solutions, and Jordan is a Software Developer at Spiceworks.

Spring 2015: Natalia Rodriguez’s project involved “Visualizing Big Data Through Juxtaposition: Mapping Body Image with Instagram Data”. She presented this work at the 2015 ACM Richard Tapia Celebration of Diversity in Computing. Natalia was one of three winners of the inaugural NCWIT Collegiate Award in 2015 for this research. She has been a Software Developer at Indicative, and a Helen Fellow in Data Visualization at the American Museum of Natural History.

Fall 2014: Kathryn Reagan had been a Community Engaged Learning Teaching Assistant in my Operations Research course in Spring 2014, and in Fall 2014 we began an IRB-approved study of the impact of the community-engaged learning component of that course, which resulted in a joint publication on “Community-Engaged Projects in Operations Research”, with details in the publication list. After graduation, Kathryn became a consultant at ThoughtWorks, a position she had sought since first encountering that company at a Grace Hopper Celebration of Women in Computing conference she had attended early in her Southwestern years.

Fall 2014: Rebecca Wilson worked with me on several projects related to supporting underrepresented groups in computer science. One of them resulted in a publication for her entitled “CS Club: A Student Built Culture of Computing” in the Consortium for Computing Sciences in Colleges: South Central Region Student Paper E-Journal, which she also got to present at the conference in April 2015. Rebecca is an Application Developer at Union Pacific Railroad.

Fall 2013: Paris Nelson worked with me on a project about genetic algorithms, with his poster presentation entitled “There and Back Again: A Genetic Algorithm Approach to the TSP” winning a prize at the Consortium for Computing Sciences in Colleges: South Central Conference. An article about another of Paris’s projects can be found here. After Southwestern, he began his career at Accenture.

Fall 2012: Erick Bauman worked with me to create a website and underlying database for a local nonprofit forster care organization, allowing tracking of information about employees and children in their system, with the necessary security and privacy constraints. Erick went on to the PhD program in Computer Science in the Systems and Software Security Lab at The University of Texas at Dallas. Erick was also involved in several other projects at Southwestern, including ones described in this link.

Fall 2010-Spring 2011: As part of an Honors Project, Matthew Flatau and I developed software to implement Ruppert’s algorithm for generic curves in two-dimensions, used in mesh generation. This resulted in the Research Note at the International Meshing Roundtable (see Publications list), where Matthew presented about our work. Matthew went on to graduate study in Computer Science at the University of Wisconsin-Madison, and then became a software developer at Epic.

Spring 2009: Dak Erwin (as of 2017, a Software Engineer at b.well Connected Health) and I explored Latency on Wireless Sensor Networks when he was a first-year student at Southwestern.


Student co-authors denoted with an *.

“Greedy Is Good: An Empirical Evaluation of Three Algorithms for Online Bottleneck Matching,” with Christine Harbour* and Jordan King*, forthcoming.

“Several questions which work for almost any computer science exam,” Journal of Computing Sciences in Colleges, Volume 33, Number 2, pp. 107-112, December 2017.

Many computer science courses use final exams as one means of evaluating student performance within the course, but developing meaningful assessments can be both difficult and time-consuming. Students and faculty alike can experience both stress and frustration with various aspects of the exam process. By stepping back and evaluating the overall goals of computer science courses and the curriculum, some questions arise as viable options for final exams in a variety of computer science courses. These questions enable students to consider prior courses, projects or presentations within the course, future use of the material, or handle what may be perceived as incomplete coverage in the final exam. Some potential concerns about these questions are addressed. While these questions will not replace all of the traditional questions, they may provide different types of assessment information, and enable reflection for both students and faculty.

“Community-Engaged Projects in Operations Research,” with Kathryn Reagan*, Science Education & Civic Engagement: An International Journal, Volume 9, Issue 2, pp. 5-12, Summer 2017.

Community-engaged learning is not very common in technical fields, but including relevant projects in courses can make it feasible and successful. We present an implementation of an operations research course at a liberal arts college. Working with one of four nonprofit community partners to optimize aspects of their organization, students gained insight into relevant, real-world applications of the field of operations research. By considering many aspects of their solution when presenting it to community partners, students were exposed to some issues facing local nonprofit organizations. We discuss the specific implementation of this course, including both positive learning outcomes and challenging factors.

“A First Year Seminar’s Impact on Interest in Computer Science,” Journal of Computing Sciences in Colleges, Volume 32, Number 2, pp. 83-89, December 2016.

While enrollments in computer science courses may be increasing overall, the recruitment and retention of women and minorities in computer science remains a pervasive problem. First Year Seminars at universities are relatively common, and though they take on a variety of formats, many are designed to help with the transition to college and to increase retention. For three years, a computer science faculty member taught a First Year Seminar, broadly about the Internet, though with limited technical details, surveying the students about their perceptions of computer science. The results, while not conclusive, may provide motivation for other computer science professors to teach a First Year Seminar related to technology.

“How Well Do Doodle Polls Do?,” with Danya Alrawi* and Christine Chung, Proceedings of the 8th International Conference on Social Informatics (SocInfo16), LNCS 10046, Volume 1, pp. 3-23, November 2016.

Web-based Doodle polls, where respondents indicate their availability for a collection of times provided by the poll initiator, are an increasingly common way of selecting a time for an event or meeting. Yet group dynamics can markedly influence an individual’s response, and thus the overall solution quality. Via theoretical worst-case analysis, we analyze certain common behaviors of Doodle poll respondents, including when participants are either more generous with or more protective of their time, showing that deviating from one’s “true availability” can have a substantial impact on the overall quality of the selected time. We show perhaps counter-intuitively that being more generous with your time can lead to inferior time slots being selected, and being more protective of your time can lead to superior time slots being selected. We also bound the improvement and degradation of outcome quality under both types of behaviors.

“Serve or Skip: The Power of Rejection for Online Bottleneck Matching,” with Christine Chung, Journal of Combinatorial Optimization, Volume 32, Issue 4, pp. 1232-1253, November 2016.

We consider the online matching problem, where n server-vertices lie in a metric space and n request-vertices that arrive over time each must immediately be permanently assigned to a server-vertex. We focus on the egalitarian bottleneck objective, where the goal is to minimize the maximum distance between any request and its server. It has been shown that while there are effective algorithms for the utilitarian objective (minimizing total cost) in the resource augmentation setting where the offline adversary has half the resources, these are not effective for the egalitarian objective. Thus, we propose a new Serve-or-Skip (SoS) bicriteria analysis model, where the online algorithm may reject or skip up to a specified number of requests, and propose two greedy algorithms: GriNN(t) and GRIN_(t) . We show that the SoS model of resource augmentation analysis can essentially simulate the doubled-server-capacity model, and then examine the performance of GriNN(t) and GRIN_(t).

“Complete r-partite graphs determined by their domination polynomial,” with Michael Picollelli, Graphs and Combinatorics, Volume 31, Issue 6, pp. 1993-2002, November 2015.

The domination polynomial of a graph is the polynomial whose coefficients count the number of dominating sets of each cardinality. A recent question asks which graphs are uniquely determined (up to isomorphism) by their domination polynomial. In this paper, we completely describe the complete r-partite graphs which are; in the bipartite case, this settles in the affirmative a conjecture of Aalipour et al. (Ars Comb, 2014).

“Conditions for the Bicolorability of Primitive Hypergraphs,” with Richard Denman, Journal of Combinatorial Mathematics and Combinatorial Computing, Volume 94, pp. 27-41, August 2015.

A primitive hypergraph is a hypergraph with maximum cardinality three and maximum degree three such that every 3-edge is adjacent only to 2-edges and is incident only to vertices of degree two. Deciding the bicolorability of a primitive hypergraph is NP-complete (a straightforward consequence of results in Kratochvil and Tuza). We provide sufficient conditions, similar to the Sterboul conditions proved by Defossez, for the existence of a bicoloring of a primitive hypergraph, and we provide a polynomial algorithm for bicoloring a primitive hypergraph if those conditions hold. We then draw a connection between this algorithm and the well-known necessary and sufficient conditions given by Berge for maximal matchings in graphs, which leads to a characterization of bicolorability of primitive hypergraphs.

“The Power of Rejection in Online Bottleneck Matching,” with Christine Chung, Proceedings of the 8th Annual International Conference on Combinatorial Optimization and Applications (COCOA’14), LNCS, pp. 395-411, December 2014.

We consider the online matching problem, where n server-vertices lie in a metric space and n request-vertices that arrive over time each must immediately be permanently assigned to a server-vertex. We focus on the egalitarian bottleneck objective, where the goal is to minimize the maximum distance between and request and its server. It has been demonstrated that while there are effective algorithms for the utilitarian objective (minimizing total cost) in the resource augmentation setting where the offline adversary has half the resources, these are not effective for the egalitarian objective. Thus, we propose a new Serve-or-Skip bicriteria analysis model, where the online algorithm may reject or skip up to a specified number of requests, and propose two greedy algorithms: GriNN(t) and Grin*(t). We show that the Serve-or-Skip model of resource augmentation analysis can simulate the doubled-server capacity model, and then characterize the performance of GriNN(T) and Grin*(t).

“Offering an Undergraduate Computer Science Colloquium,” Journal of Computing Sciences in Colleges, Volume 29, Number 4, pp. 6-12, April 2014.

An undergraduate computer science colloquium is presented that can enhance the educational opportunities for students at a small liberal arts college while providing an additional community-building venue for majors at various stages of their college careers. Presentation skills are a key component of this one-credit course, and the pass/fail grading system can alleviate some student concerns about their performance and allow them to focus on improving in this critical area. Additionally, though the number of electives offered at a small college may be small, a colloquium provides the means for exposure to a greater breadth of computer science topics, potentially helping students develop new interests within the discipline. After being piloted as a special topics course in Spring 2011, Southwestern University has now added the undergraduate colloquium to the regular spring course offerings.

“Online Bottleneck Matching,” with Christine Chung, Journal of Combinatorial Optimization, Volume 27, Issue 1, pp. 100-114, January 2014. An earlier version appeared in Proceedings of the 6th Annual International Conference on Combinatorial Optimization and Applications (COCOA’12), LNCS 7402, pp. 257-268, August 2012.

We consider the online bottleneck matching problem, where k server-vertices lie in a metric space and k request-vertices that arrive over time each must immediately be permanently assigned to a server-vertex. The goal is to minimize the maximum distance between any request and its server. Because no algorithm can have a competitive ratio better than O(k) for this problem, we use resource augmentation analysis to examine the performance of three algorithms: the naive Greedy algorithm, Permutation, and Balance. We show that while the competitive ratio of Greedy improves from exponential (when each server-vertex has one server) to linear (when each server-vertex has two servers), the competitive ratio of Permutation remains linear. The competitive ratio of Balance is also linear with an extra server at each server-vertex, even though it has been shown that an extra server makes it constant-competitive for the min-weight matching problem.

“Data Plan Throttling: A Simple Consumer Choice Mechanism,” with Christine Chung, Proceedings of the IEEE Global Communications Conference (GLOBECOM 2013), pp. 3173-3178, December 2013.

Despite only a small portion of unlimited data plan users experiencing throttling each month, it is a prominent source of complaints from users and a significant concern for mobile network operators. We propose a simple mechanism that allows users to choose when they want their data transmission “fast,” and when they want it “slow.” Users still have the same cap on total high-speed transfer before being throttled, and hence may still be subject to throttling, but now they are given some control. We propose a basic model of payoffs, and demonstrate that the proposed mechanism would be preferable to the user over the throttling policies currently in place. We then consider the impacts that extend beyond a single user, and provide a framework for determining the aggregate effects of such a mechanism.

“Operations research: Broadening computer science in a liberal arts college,” Proceedings of the 43rd ACM Technical Symposium on Computer Science Education (SIGCSE ’12), pp. 463-468, February 2012.

Operations research, while not traditionally taught at many small or liberal arts colleges, can be a significant asset to the offerings of a computer science department. Often seen as a discipline at the intersection of mathematics, computer science, business, and engineering, it has great interdisciplinary potential and practical appeal, allowing for recruitment of students who may not consider taking a CS0 or CS1 course. A special topics course in operations research was offered by the computer science department at Southwestern University as an upper-level elective, and it was also cross-listed as a business and mathematics elective. Not only did the course benefit computer science majors who appreciated the applications and different perspectives, but it provided a means for the department to serve a wider population, increased interdisciplinary education, and resulted in a filled-to-capacity upper-level course in computer science for the first time in recent memory. This course is now being considered as a permanent elective that will interest computer science majors and minors as well as draw in students from disciplines across campus. For departments with limited faculty resources for teaching non-major courses, offering an operations research course provides an alternative that simultaneously serves the department and the campus as a whole.

“Some Families of Fixed Points for the Eccentric Digraph Operator,” with Richard Denman and Alison Marr, Journal of Combinatorial Mathematics and Combinatorial Computing, Volume 78, pp. 245-260, August 2011.

We investigate the existence of fixed point families for the eccentric digraph (ED) operator, which was introduced in [Buckley]. In [Gimbert, Miller, Ruskey and Ryan], the notion of the period $\rho(G)$ of a digraph G (under the ED operator) was defined, and it was observed, but not proved, that for any odd positive integer m, $C_m \times C_m$ is periodic, and that $\rho(ED(C_m \times C_m)) = 2\rho(ED(C_m))$. Also in [Gimbert, Miller, Ruskey and Ryan] the following question was posed: which digraphs are fixed points under the digraph operator? We provide a proof for the observations about $C_m \times C_m$, and in the process show that these products comprise a family of fixed points under ED. We then provide a number of other interesting examples of fixed point families.

“Implementing Ruppert’s Algorithm for Generic Curves in 2D,” with Matthew Flatau*, 19th International Meshing Roundtable (Conference) Research Notes, October 2010.

While quality implementations exist for meshing straight-line inputs, fewer are available for handling curved inputs, even in 2D. Many are based on the well-known Ruppert’s algorithm which has led to a large body of research in meshing. In this work, we provide a software package that handles a variety of smooth inputs in 2D, based on a minimal modification of Ruppert’s algorithm. Existing software for curved inputs lacks the elegance of Ruppert’s original algorithm (and subsequent improvements) or is application-specific. In contrast, we seek to keep the core of our work as similar as possible to Ruppert’s algorithm to allow our software to benefit from related research and to be easily updated for additional input curve types. In particular, the differences in our implementation versus the original are limited to two pre-processing steps in the spirit of Pav and Walkington and a generalized midpoint calculation.

Feel free to email me for a copy. The code is freely available under the MIT License at

“A Plant Location Guide for the Unsure: Approximation Algorithms for Min-Max Location Problems” with Vineet Goyal, Anupam Gupta, and Viswanath Nagarajan, Mathematics of Operations Research, Vol. 35, No. 1, pp. 79-101, February 2010.

This paper studies an extension of the k-median problem under uncertain demand. We are given an n-vertex metric space (V, d) and m client sets $\{S_i \subseteq V\}_{i = 1}^m$. The goal is to open a set of k facilities F such that the worst-case connection cost over all the client sets is minimized, i.e., \min_{F \subseteq V, PIPE F PIPE = k}\max_{i \in [m]}\left \{\sum_{j \in S_i} d(j, F)\right\}, where for any $F \subseteq V, d(j, F) = \min_{f \in F} d(j, f)$. This is a “min-max” or “robust” version of the k-median problem. Note that in contrast to the recent papers on robust and stochastic problems, we have only one stage of decision-making where we select a set of k facilities to open. Once a set of open facilities is fixed, each client in the uncertain client-set connects to the closest open facility. We present a simple, combinatorial O(log n + log m)-approximation algorithm for the robust k-median problem that is based on reweighting/Lagrangean-relaxation ideas. In fact, we give a general framework for (minimization) k-facility location problems where there is a bound on the number of open facilities. We show that if the location problem satisfies a certain “projection” property, then both the robust and stochastic versions of the location problem admit approximation algorithms with logarithmic ratios. We use our framework to give the first approximation algorithms for robust and stochastic versions of several location problems such as k-tree, capacitated k-median, and fault-tolerant k-median.

“Approximation Algoirthms for Network Design with Uncertainty”, Ph.D. Thesis, Carnegie Mellon University, 2008.

“A Plant Location Guide for the Unsure” with Vineet Goyal, Anupam Gupta, and Viswanath Nagarajan, Proceedings of the Nineteenth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), 2008.

Consider a min-max version of the k-median problem, where we are given m possible demand sets, and the goal is to locate k medians to minimize the cost they incur on the worst of these demand sets. We give a logarithmic approximation for this problem. In fact, we give some general conditions such that if a location problem satisfies these conditions, there is a reverse-greedy algorithm for the min-max version of the problem. Using this, we give algorithms for fault-tolerant and capacitated versions of k-median, as well as the k-tree problem. Finally, we show that stochastic versions of k-center are as hard as dense-k-subgraph.

“Infrastructure Leasing Problems” with Anupam Gupta, Proceedings of the Twelfth Conference on Integer Programming and Combinatorial Optimization (IPCO), 2007.

Consider the following Steiner Tree leasing problem: We are given a graph with a prespecified root, and a sequence of terminal sets such that the j’th set wants to connect to the root on day j. However, instead of obtaining edges for a single day at a time, or for infinitely long, we are allowed to lease edges for various periods: say {a day, a week, a month, a year}. Naturally, leasing an edge for a longer period costs less per unit of time. What is a good leasing strategy? We give a general approach to solving such problems by showing a close connection between deterministic leasing problems and problems in multistage stochastic optimization.

Honors and Awards

NSF S-STEM Award, Broadening the Net: Promoting Success in the Sciences for All Students, Southwestern University, Co-PI, 5 years, $614,325, July 2015.

Google CS Engagement Award ($5000), towards the development and integration of instructional materials for increasing student engagement and retention in introductory computer science classes, Spring 2015. One of 53 CS faculty and instructors from colleges and universities in 24 U.S. states to receive this award.
Received funding through the Computing Research Association CREU (Collaborative Research Experience for Undergraduates) for two under-represented students to do research with me for the 2014-2015 academic year. ($3000 per student, plus travel money, totaling $7500 initially, with additional travel funds provided for Tapia 2015)


Member, Association of Computing Machinery (ACM)

SIGACT: Special Interest Group on Algorithms and Computation Theory

SIGCSE: Special Interest Group on Computer Science Education

Member, Society for Industrial and Applied Mathematics (SIAM)

Faculty Advisor and Member, Upsilon Pi Epsilon (UPE), Computer Science Honorary Society

Certified Member (CT), Registry of Interpreters for the Deaf (RID)