Discrete Mathematics from Scratch