This page has the slides of the courses "Combinatorial Optimisation and Constraint Programming [COCP]" (10 ECTS credits, code 1DL442) and "Modelling for Combinatorial Optimisation [M4CO]" (5 ECTS credits, code 1DL451) by Prof. Pierre Flener at Uppsala University in Sweden. The course is held every autumn semester. The first half of the COCP course is the M4CO course and comprises the first 11 topics (T01 to T11): we use the MiniZinc language and toolchain (https://www.minizinc.org) in order to model various problems and run the models under solvers of various technologies (CP, SAT, MIP, local search, and hybrids thereof). The second half of the COCP course is now based on, and contributes to, the MiniCP teaching project (http://www.minicp.org), with files T12-CP-MiniCP and T18-Conclusion added. It used to comprise the last 7 topics (T12 to T18): we studied the algorithms for a solver of constraint programming (CP) technology and used the Gecode C++ library (https://www.gecode.org) for the assignments; those slides are currently not maintained, but left here for archival purposes. If you are an instructor and would like to use the LaTeX source of these slides, then contact me (https://user.it.uu.se/~pierref); under additional conditions, I can also give you the source code of assignment questions.