This is a course that covers the fundamentals of logic and sets, the fundamental principles of counting, algorithms and some concepts in graph theory.