Assignment 2, Logic course
COMP2620/COMP6262/PHIL2080
Pascal Bercher
Semester 1, 2022
compiled last: Tuesday 19th April, 2022, 19:34
Assignment
Solve the Block Maze L4F puzzle, which is number 8 on Expert level.
Due date is 8 May, 23:59 (Canberra time).
Requirements and Instructions
Please double-check that you adhere our requirements:
• Your username must follow the pattern uniID-FirstName-LastName
• Your email address must be the one from the ANU.
• You must join our “class”. Instructions for this are given in our L4F forum.
To submit your solution, you must first click on the Submit to Class button. Afterwards you see your code
again, but your work is not submitted yet! You will have to hit another submit button that can be found at the
bottom of the page as shown here:
You will be able to submit as often as you want, but only the very last version will be stored, so be careful:
each submission overwrites the the previous one.
Most importantly: You will not be able to retrieve your submitted version anymore! I.e., you cannot even
look at it later, but therefore also not continue working on it. It is thus important that you store your work
before you submit it! (In particular if you might want to keep working on it after the submission.)
Marking
Marks will be given for correctness, elegance, and readability/comments.
A correct solution outputs the required output, and it does so by performing the relevant computations that
are specified as constraints in the puzzle description. This means that a correct solution must actually compute
the required values, rather than using values that have been already calculated by hand and hard-coded into the
solution. So it’s the Logic reasoner that must solve the problem according to the constraints. You finding the
solution just encoding it will not give any points. Marks will (roughly) be given by the edit distance from your
solution to a correct solution.
An elegant solution uses well-chosen sorts and vocabulary, and formalization of constraints. This means that
also correct solutions might not score 100% of the points if some formalizations are not “perfect”. For example,
if quantifiers can be used, they should be used (rather than providing a list with all objects). Also redundancy
should be prevented.
A readable solution has well-chosen descriptive variable names that make reading of and working with the
code easy. It is clearly structured and returns an output that contains all the necessary information to interpret
it. In addition, informative comments are used to help making sense of the provided formalizations. At least all
constraints given in the text should be included before their respective formalizations. More complex constraints
can be briefly explained via comments.
Academic Integrity
We use software to detect similarities. If we are suspicious about possible collaboration or code copying we
will hold interviews and demand that the code will be explained. “It was too long ago” will not be accepted
as excuse. So solutions that can’t be explained will prove disallowed code copying and thus academic misconduct.
Furthermore, dealing with cases of possible collaboration is very time-consuming for the the investigating
people (e.g., the convenor and others) and is also very distressing, so please consider this as well. Just give your
best! But adhere the rules. Please also check out the paragraphs on Academic Integrity and following of our
Wattle course page.