COMPSCI 350: Mathematical Foundations of Computer Science