COMP2620: Logic
2620 is unusual amongst CS courses in that it’s actually co-taught under a philosophy code (PHIL2080). This is something that you should be aware of, but not afraid of: the philosophical aspects of the course are certainly achievable for someone with no philosophy background.
There are four main things that you learn about in the course:
- Natural deduction (a method of proving logical truth). If you’re a mathematical/technically-inclined person, you’ll probably enjoy these proofs - they seem rather natural and logical (Ha!). Note that 2620 uses a different proof format to COMP1600 - so whatever you do, don’t use the 1600 format in exams, as you won’t get any marks.
- Semantics (including semantic tableaux and interpretations, which are methods of determining the truth of formulae). Natural deduction can only show logical truth, but not that something is false, while semantic tableaux can do both.
- Logical modelling with Logic4Fun (an unusual custom programmable-logic-puzzle-solver-thing built by the old lecturer John Slaney for teaching). It will feel like programming in a very weird language, but it will be more helpful to think about it as encoding natural language in an efficient manner. The encoding is essentially fed into a SAT solver, so the more efficient the encoding, the faster the puzzle gets solved.
- Philosophical issues arising from classical logic (and a brief exploration into various non-classical logical systems). Most of this content is further towards the end of the course, and not all of it is assessed directly, but you will probably find this section interesting as it begins to explain some of the 'why' behind various aspects of logic that seem rather counterintuitive at first glance. If you ever find yourself confused, the logic notes page is a great source.
As of 2022, assessment for this course comprises of solving to a set of short answer questions and proofs (15%) on natural deduction and semantics, one or two logic puzzles in Logic4Fun (15% together), a 1000-1500 word essay (15%), and a final exam (worth 55%). Note that the final exam contains an essay (among other things) as well as some logic proofs and short answer questions.
Although this course requires you to have finished 12 units of COMP or MATH courses as a prerequisite, you can probably get a permission code to do it in first semester of first year if you have done higher level mathematics or programming in high school (despite the 2000-level course code, this is still an introductory logic course). In fact, if you were planning on eventually taking this course at some point of your degree (e.g. as part of the AI specialisation), I would highly recommend taking this course before you take COMP1600, as it’ll make the first few weeks of 1600 fairly easy (and save you from the sketchy fast-paced introduction to logic that confuses most other CS students).