Mathematics for Computer Science (MIT 6.042J) Notes