Department of Mathematics and Statistics Faculty of Arts and Faculty of Pure and Applied Science Course Outline (Fall 2000)
 AS/SC/AK/ MATH 1090 3.0 Introduction to Logic for Computer Science Professor George Tourlakis Classes: MW 11:30am-1:00pm CLH G [See also We]
 Course Description: (See also the departmental course outline)  The syntax and semantics of propositional and predicate logic. Some basic and important  "metatheorems" that employ induction on numbers, terms, formulas, and theorems will be also considered. The emphasis in our approach will be on the "theory", i.e., we will aim at becoming proficient users of Logic. Still, a judicious choice of topics in the "metatheory" (which is the study--rather than the mere use--of the theory) will be instrumental towards our understanding of "what's going on here". The mastery of these metatheoretical topics will make you better "users of Logic" and will separate the "scientists" from the "technicians". We may consider topics ("applications") from program specification and verification, set theory and induction (using the formal logical language of the first part of the course), as time permits.  Note: This course is a program requirement in COSC.  By taking this course, students will master the syntax and manipulations of propositional and predicate logic, as well their informal semantics. The proper understanding of propositional logic is fundamental to the most basic levels of computer programming, while the ability to correctly use variables, scope and quantifiers is crucial in the use of loops, subroutines, and modules, and in software design. Logic is used in many diverse areas of computer science including digital design, program verification, databases, artificial intelligence, algorithm analysis, and software specification. We will not follow a classical treatment of logic. Instead we will use an "equational" treatment. This equational approach will also be the basis for the topics in discrete mathematics treated in MATH 2090.        See the description of MATH 2090 for further comment about the importance of formal logic for good programming.  Prerequisite: One OAC in mathematics or equivalent, or AK/MATH 1710 6.0. Exclusions: This course is not open to any student who has passed AS/SC/AK/MATH 4290 3.0. Course work and evaluation: There will be several homework assignments worth 45% of the total final grade.  The homework will be each individual's own work. While consultations with the instructor, tutor, and amongst students, are part of the learning process and are encouraged, at the end of all this consultation each student will produce an individual report rather than a copy (full or partial) of somebody else's report. There will also be one mid-term (in-class) test worth 15% <== Date/Time: October 11, 2000. 11:30am-1:00pm. and a Final Exam worth 40%. Text: David Gries and F.B. Schneider, A logical approach to Discrete Math. Springer, latest edition. Syllabus:From Gries and Schneider, Chapters 2, 3, 4, (possibly 6.1 and/or 6.2), 8 and 9. Chapters 8 and 9 will be supplemented and amended by my technical report "A Basic, etc. ... "  and the new  "The last word on Leibniz?" (PS and PDF). Chapters 3 and 4 will be supplemented and amended by class notes and also by material that I put on the course web page, for now, "Post's Theorem and other Tools" (PS and PDF) .