Discrete Mathematical Struktures With Applications To Computer Science