These are a set of projects done in the Constraint Processing and Programming course at the Universitat Politecnica de Catalunya - Barcelona. Projects are related to three Coursera courses: Basic Modeling for Discrete Optimization, Advanced Modeling for Discrete Optimization, Solving Algorithms for Discrete Optimization