PHIL 279 introduces both propositional and first-order predicate logic, and requires students to use a formal proof system (the nature of which might vary from section to section) in order to prove theorems in both types of logic. By doing so, it introduces material that is fundamental to computer architecture and to the idea of computability. Furthermore, almost any attempt to consider the correctness of computer programs, or specification of requirements, in a formal way is based on mathematical logic. It's also absolutely essential for an understanding of issues, problems, and methods in artificial intelligence. PHIL 279 (or the equivalent, PHIL 377) is a prerequisite for a number of required courses. You will not be able to register in a course for which it is a prerequisite unless you pass with a C- or better. These courses include:
· CPSC 313, Introduction to Computability. This course is a required course for Computer Science majors, and either required or strongly recommended for a number of further CPSC courses such as CPSC 411 (Compiler Construction I), CPSC 413 (Design and Analysis of Algorithms I, itself a prerequisite for a number of higher-level courses), CPSC 433 (Artificial Intelligence), CPSC 510 (Compiler Construction II), CPSC 513 (Computability), CPSC 521 (Functional Programming), CPSC 528 (Spam and Spyware)
· CPSC 449, Programming Paradigms.
· CPSC 359, Computing Machinery II.
· PHIL 379, Logic II, required for the BSc Honours and the BA in Computer Science.