NOPT042 Constraint programming (Fall 2025)

In the tutorial we will be modeling constraint problems in the logic-based multi-paradigm language Picat (Pattern-matching, Intuitive, Constraints, Actors, Tabling).

Office hours during the teaching period:

or make an appointment (via email); two additional hours per week will be available.

Credit requirements

There will be 12 homework assignments each of which is worth 1 point. In order to get the credit, you must gain at least 8 points, out of which at least 4 points must be from the second half of the semester (assignments 7-). Expect increasing complexity of the assignments as the semester progresses. There will be an additional option to get at most 4 points after the end of classes for solving somewhat harder problems.

The solutions to the homework assignments must be 100% your own work. Do not discuss them with anyone but me, do not search for solutions on the internet, and do not share your code.

ReCodEx

Homework assignments will be posted in ReCodEx. The deadlines will be set to the beginning of the next tutorial, unless stated otherwise.

GitHub and Binder

The source codes and live notebooks are available on GitHub, and hosted on Binder:

The individual notebooks are also posted below as PDFs and HTML slides.

Resources

Tutorial schedule (will be updated)

Before the first tutorial

1st tutorial (Sep 29)

2nd tutorial (Oct 6)

3rd tutorial (Oct 13)

4th tutorial (Oct 20)

5th tutorial (Oct 27)

6th tutorial (Nov 3)

7th tutorial (Nov 10)

8th tutorial (Nov 24)

9th tutorial (Dec 1)

10th tutorial (Dec 8)

11th tutorial (Dec 15)

12th tutorial (Jan 5)

Frequently asked questions (FAQ)