Text this: Combinatorial optimization for undergraduates