Assignment 2, Logic course
COMP2620/COMP6262/PHIL2080
Semester 1, 2023
compiled last: Saturday 1st April, 2023, 00:52
Assignment
Solve the Faulty Circuit L4F puzzle, which is number 2 on the Logician level.
Due date is 23 April, 23:59pm (Canberra time).
Requirements and Instructions
Please double-check that you adhere to 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 an announcement.
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.)
Once you have submitted to L4F using these instructions, you should also upload a copy of your solution to
wattle. This is just in case anything goes wrong (our end has been tested, so really this is just a safety measure).
You may take a screenshot of your work and upload this, or copy your work into a text file and upload that.
Anything that we can read, and which contains all of your work. Again, this must be uploaded before the due
date. If anything technical goes wrong and you have not either submitted on wattle or to L4F, we can not mark
your assignment.
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. Finding the
solution by yourself and just encoding it will not give any points. For the most part, 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
correct solutions may not always 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). Redundancy should
be prevented as well.
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 (using a % symbol). Given that partial marks are awarded for correctness,
having helpful comments and a more easily readable solution may also make it more easy for us to see what
you’re doing, and give you partial marks. This is on top of some marks for readability, so it’s better for everyone
to make readable code!
Academic Integrity
We use software to detect similarities. If we are suspicious about possible collaboration or code copying we will
hold interviews and require 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 it is also very distressing for everyone involved, so please consider this
as well. Just do your best! But adhere to the rules. Please also check out the paragraphs on Academic Integrity
and following on our Wattle course page.