A proper q-coloring of a graph is an assignment of one of q colors to each vertex of the graph so that adjacent vertices are colored differently. Sample uniformly among all proper q-colorings of a large discrete cube in the integer lattice Z d . Does the random coloring obtained exhibit any large-scale structure? Does it have fast decay of correlations? We discuss these questions and the way their answers depend on the dimension d and the number of colors q. The questions are motivated by statistical physics (anti-ferromagnetic materials, square ice), combinatorics (proper colorings, independent sets) and the study of random Lipschitz functions on a lattice. The discussion introduces a diverse set of tools, useful for this purpose and for other problems, including spatial mixing, entropy and coupling methods, Gibbs measures and their classification and refined contour analysis.