How to Guard an Art Gallery and Other Discrete Mathematical Adventures