This document provides an overview of communication complexity and deterministic communication complexity. It begins with defining the problem setup, which involves two parties (Alice and Bob) trying to compute a function f based on their private inputs using the minimum communication. It then discusses protocol trees, which model communication protocols, and shows they partition the input space into rectangles. It introduces combinatorial rectangles and shows how the minimum number of rectangles needed to partition the space can provide a lower bound on communication complexity. The document also discusses fooling sets, another technique to lower bound communication complexity, and previews upcoming topics on nondeterministic and randomized communication complexity.