CPSC 415: Special Topics in Computer Science, Fall 1998: Logic and
Computation
Class Time: Wed 6:45-9:15pm
Location: MCEC 220
Chuck C. Liang
Office: MCEC 343
Office Phone: (860 297) 5395
Designated Office Hours: Monday-Thursday 3-4pm, or by appointment
Email: chuck.liang@mail.trincoll.edu
Course Description:
This course is designed to introduce undergraduate students to some
advanced topics in logic and computation that are typically
studied at the graduate level. These topics include
algebraic structures, term rewriting and unification, formal proof
systems, higher order and intuitionistic logic, automated theorem
proving, type theory and principles of declarative programming
languages. Potential applications of these topics include formal
specification of hardware and software, programming language design
and implementation, deductive databases, and various subjects in
artificial intelligence. It should be emphasized that the course will
be taught at a very advanced and theoretical level. Students are
expected to be self motivated. Course work may involve, in
addition to assignments and quizes, writing of technical papers
critically summarizing certain results, class presentations, and
independent research. There may also be some short programming
assignments.
Prerequisite: CPSC 203 or Math 205.
Reference Material: There is no official textbook. Reading will
consist of various handouts.
Class Web Page:
http://www2.trincoll.edu/~cliang/c415/
Tentative List of Topics:
- Overview and review of basic discrete math topics
- First Order Symbolic Systems:
- Abstract algebraic structures and properties
- Orderings and Latices
- Term Algebras, term trees
- Substitution and Unification
- Term Rewriting Systems
- Logic and Proof Theory
- The Sequent Calculus
- Classical v.s. Intuitionistic logic
- Cut Elminination and Proof Search
- An Abstract Logic Programming interpreter
- Higher Order Logic and Type Theory:
- The Lambda Calculus
- Termination and Confluence: The Church-Rosser Theorem
- Type systems
- Lambda Terms and Functional Programming
- Higher Order unification and rewriting
- Higher Order Abstract Syntax
- Additional Topics (if time allow:)
- The ML programming language
- Dependent Types
- The Lambda Prolog programming language
Exams, Assignments and Grading
There will be some written assignments and projects. There will
be two 30-minute quizes and either a final exam or a final project.
The final projects will likely involve writing a paper.
The grade distribution
will be roughly as follows: quizes and exams 40%,
assignments and projects 60%.
All material handed in must be in hard copy, and be well
organized and legible. Unreadable material will not be graded.
Consultation of outside material for
completion of assignments must be pre-approved.
Late assignments will not be accepted.
Attendance
Regular attendence is expected. Students are responsible for all
material, in all forms, presented during scheduled class times.
Final Note: The contents of the this syllabus may be modified
according to the progress of the course