This document discusses the P vs NP problem in computer science. It defines the complexity classes P and NP, where P contains problems solvable in polynomial time and NP contains problems verifiable in polynomial time. The document notes that many important problems like the traveling salesman problem are in NP but not known to be in P. It also discusses deterministic vs non-deterministic algorithms, 3CNF satisfiability as an NP-complete problem, and Cook's theorem which states satisfiability being in P is equivalent to P=NP.