This course presents a formal approach to logical thinking and problem solving using mathematical and programming logic structures.