Skip to main content
Department of Information Technology

CP Help & FAQ

Where Can I Get Help?

Before contacting anyone for help, please check whether your question has an answer in the FAQ list below. If not:

  • If you have a question about the lecture material or course organisation, then contact the head teacher at a lecture for an immediate answer.
  • If you have a question about the lecture material, homeworks, or infrastructure, then contact an assistant at a help session for an immediate answer. The assistants have the right to quit a help session after the break if there are no more questions, so come early.
  • You can also contact the teachers by email (and in normal circumstances not by knocking on their doors), but since we have replaced office hours by many help sessions, you may be pointed to the next help session. Include a brief description of the issue and suggested time(s) for a meeting that is normally to be held at her/his office, as you may be given an appointment. Only in suitable cases will a full answer be given by email, as email is sometimes not an effective teaching medium. Always email to all the assistants at the same, so that each knows of all issues and that you get an early reply.
  • You may use the Discussion Forum at the Student Portal of CP to discuss general things about the course, to troubleshoot on Gecode, or to understand some concept. While it is fine to ask for, or share, secondary aspects of homeworks, you are not allowed to post (crucial fractions of) entire solutions to the homeworks.
  • You may ask the Gecode developers and users Gecode-specific questions in public via a suitable Gecode mailing list. First check the archive of this list and the Modelling and Programming with Gecode (MPG) manual, as your question is most likely already answered there. Do not ask for advice on C++ or CP in general, or on how to solve a homework.

Email contact on confidential issues must be made from your Uppsala University address or with the Reply-To field to that address, and will be ignored otherwise as we then have no way to ascertain your identity.

Ethics

The legislation on cheating (summary) of the IT department will be rigorously applied, without exceptions. This includes using a public repository (such as github) for code management within your team. We reserve the right to use plagiarism detection tools and point out that they are extremely powerful.

We assume that by submitting a homework report you are implicitly certifying that it is solely the work of your team, except where explicitly stated otherwise, and that each teammate can individually explain any part of the report from the moment of its submission.

Frequently Asked Questions (FAQ) and Answers

1. Generalities

1.1. Will I get rich after passing this course?

There is no limit to the need for competent experts on combinatorial optimisation. See the articles Constraint Programming in Sweden, Constraint Technology and the Commercial World (these links work from the UU network), and Constraint Programming -- The Paradigm to Watch, for instance.

2. Literature and Lectures & Slides

2.1. Which book, if any, should I buy?

The reference book by Apt is primarily for those who would like to know more about the mathematical foundations of constraint programming. However, many passing students reported having bought no book at all, relying solely on the lecture slides, extra material, and internet resources.

2.2. Why are the lecture slides so concise, rather than telling the whole story?

The lecture slides are just the backbone for interactive teaching: they contain the essential results and programs, so that no time is spent writing them to/from the blackboard. On the other hand, the head teacher complements this backbone with a lot of important material, both in writing on the blackboard and in talking, so students ought to take notes in order to document the complete story. Hence, for a missed lecture, the slides alone do not suffice to reconstruct the complete story, so other sources should then be consulted, such as the extra material or a reference book.

2.3. Why are there not more exercises solved by the head teacher in the lectures?

Like every course, CP has a required theoretical content, as well as a fixed budget for manpower (no teacher is full-time on the course): The balance of theory and practice in the lectures simply follows from these data and is not a sign of our bad will. On the contrary, given more resources, we would love to offer additional practical problem solving sessions. Also keep in mind that there are help and solution sessions for the homeworks.

2.4. Where can I get / buy print-outs of the lecture slides?

Nowhere. Print them out yourself: Not everyone has the same size preferences, and some of you may prefer to annotate electronically the PDF versions of the slides, so we would not know how many copies of each size to print in advance.

3. Assignments, Project, Help Sessions, Grading Sessions, Solution Sessions

3.1. Why are there not more exercises solved / supervised by the assistant in lessons?

Like every course, CP has a fixed budget for manpower (no teacher is full-time on the course): The number of sessions simply follows from these data and is not a sign of our bad will. On the contrary, given more resources, we would love to offer additional practical problem solving sessions.

3.2. How do I best use my time, and yours, in order to solve a homework?

Prepare your solution as far as possible until the corresponding help sessions, in order to make best use of those reserved timespans of personal attention by the assistants. This is much more effective than going to a help session, printing out the homework (which was published at least a week before the first help session and often does not require any material taught in the meantime), and not meeting all the difficulties until the end of the two session hours.

3.3. I am lost! Why do the homework instructions not tell us how to solve the questions?

Stating only what output has to be computed from the inputs is a pedagogical choice. In real-life engineering problems you are not asked to solve the problem by using method m on page p of textbook t. Ask the assistants by email (upon putting [CP] at the start of the subject line), or try and come to the 3 help sessions of a homework in order to get advice on what is wrong with your current solution or hints on how to proceed.

3.4. Why are the homework questions not in sync with the lecture contents?

See the previous question.

3.5. Why can I not do the homeworks alone?

The course is not allocated enough manpower to grade a report by each student to each homework. Besides, pair programming is usually a very rewarding experience, whether you learn from or teach to the other student: choose a partner whose skills are not interchangeable with yours. Note that the homeworks are downsized for students having to work alone.

3.6. Why do I need to spend so much time on the homeworks when they are only worth 5 credit points?

Any time spent on the assignments (2 credit points) and project (3 credit points) reduces the amount of time needed to prepare for the exam (5 credit points), so it pays off. Besides, the scheduled events (totalling about 65 hours), homework solving, and exam preparation form a whole, on which you are supposed to spend some 267 hours total. In other words, the six homeworks may well be calibrated to take an average of 30 hours each for the average student. This does not clash with other courses you are taking, as university studies are defined to take 800 hours of work per semester, and all courses you are taking at the same time are normally calibrated to reach that total.

4. Exam

4.1. Where are model answers to the questions of previous exams?

Nowhere. The head teacher does not believe in making such answers available (on-line or otherwise) without discussing solution processes or any alternative correct answers in person at the same time, which is one of the purposes of the final lecture. This is the pedagogical approach taken also for the homeworks, where we have solution sessions for this purpose.

4.2. Will there be programming questions in the exam? Will exam questions be similar to the homework questions?

Programming skills are mostly tested in the homeworks. Any programs for exam questions will be in pseudo-code, but programming experience from the homeworks ought to be useful for such exam questions. Theoretical skills tested in the homeworks also ought to be useful for exam questions.

4.3. What will the exam questions be? What should I focus on when preparing the exam?

Try and come to the lectures, as the head teacher makes it very clear there what the most important elements of the course material are. The lecture slides are a good indication of this.

4.4. I nearly passed the exam. What can I do to avoid taking the next exam?

No make-up opportunities will be created for near-passes, as the head teacher evaluates those cases very carefully before announcing the exam results.

5. Software & Hardware, Help & FAQ, Evaluation & Feedback, and Resources

5.1. How do I install Gecode on my own computer?

Follow the link at Software & Hardware.

5.2. Why do I not get a reply to my emailed query?

On working days and hours, you can normally expect a reply within a few hours. If it was a confidential question, check whether you have sent it from your Uppsala University address or set the Reply-To field to that address.

5.3. Are you interested in additional links to great internet resources?

Yes, absolutely. Send us an email with links, and we will add the best ones to the course web-pages.

6. Student Portal of CP and Credit Points

6.1. I passed the exam, assignments, or project parts, but why are my credit points not reported yet to Uppdok?

The Student Portal is not automatically reporting awarded credit points to Uppdok, but there is a manual process involved in that. So be patient and do not worry until at least a month after the official end of the course.

Updated  2014-10-03 09:30:35 by Pierre Flener.