Title: The complexity of counting homomorphisms Abstract: The complexity of counting homomorphisms from an input graph G to a fixed graph H was established by Dyer and Greenhill (2000), and generalised to partition functions by Bulatov and Grohe (2005). These results give a dichotomy between problems which are in polynomial time and problems which are hard for the counting class #P. These problems are closely related to the study of the complexity of constraint satisfaction problems. This has revealed fundamental connections with universal algebra. We will survey recent work and describe a new dichotomy theorem for uniform hypergraphs with edge size r at least 3. This gives an algebraic characterisation which is not obvious in the graph case, r=2.