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 the validity of formulae). 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)
- Logical modelling with Logic4Fun (an unusual custom programmable-logic-puzzle-solver-thing built by the lecturer for teaching). Like when you learn Haskell in 1100, you’ll find programming in Logic4Fun to be very different to anything that you’ve ever done before - hopefully it will broaden your mind and help you think about programming and puzzle solving in a different way.
- 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.
As of 2020, assessment for this course comprises of solving to two logic puzzles in Logic4Fun (10% each), a 1000-1500 word essay (10%), and a midsemester and final exam (worth 20% and 50% respectively). Note that although the final exam contains an essay (among other things), sometimes you’ll have the alternative option of doing harder logic proofs instead. Thus, if you’re still struggling with the philosophical side of the course by the end of semester and feel more comfortable with proofs, there is no need to worry, because depending on your choices you may be able to limit the philosophy assessment to only about 15% of your overall grade.
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).