Foundation Mathematics for Computer Science: A Visual Approach