Knot theory is a classical area of low-dimensional topology, directly connected with the theory of three-manifolds and smooth four-manifold topology. In recent years, the subject has undergone transformative changes thanks to its connections with a number of other mathematical disciplines, including gauge theory; representation theory and categorification; contact geometry; and the theory of pseudo-holomorphic curves. Starting from the combinatorial point of view on knots using their grid diagrams, this book serves as an introduction to knot theory, specifically as it relates to some of the above developments. After a brief overview of the background material in the subject, the book gives a self-contained treatment of knot Floer homology from the point of view of grid diagrams. Applications include computations of the unknotting number and slice genus of torus knots (asked first in the 1960s and settled in the 1990s), and tools to study variants of knot theory in the presence of a contact structure. Additional topics are presented to prepare readers for further study in holomorphic methods in low-dimensional topology, especially Heegaard Floer homology. The book could serve as a textbook for an advanced undergraduate or part of a graduate course in knot theory. Standard background material is sketched in the text and the appendices.