TERM PROJECT DESCRIPTION
The term project will consist of the development of a web site to teach
the fundamentals of predicate logic and related concepts in formal theory.
The class will form individual groups of three to five students, each of
which will develop the materials for one part of the site. Some of the
basic ideas will be taught in class since I don't expect most students
to be familiar with these topics, but you will probably also want or need
to do some outside reading in the library or on the web. I will provide
a list of general or approximate topics/pieces of the subject for the groups
to choose among but groups can alter these topics, and in general will
have to decide what approach they are going to take toward a particular
topic.
One group will be assigned the task of overall project coordination,
which will include things like trying to keep the notation used in the
different groups consistent, and trying to make sure that the conceptual
"edges" between related groups are smooth. The GSA will be in frequent
communication with the coordinating group, as will I.
The site in general, and the individual components, will consist of
various types of components and individual groups can emphaize different
types of components to different degrees. For instance pages will include
text and graphics materials as well as interactive components (written
in JavaScript, which you will learn in class) which will enable potential
students/users to try out their knowledge in various ways and get feedback
on their attempts.
Different groups will emphasize different aspects of this project to
different degrees. For instance, some might emphasize teaching per
se, and hence emphasize content per se. Others might want to emphasize
the technical aspects of building interactive practice components and might
have a somewhat narrow scope to the content. Such a site might be
thought of as a way to provide interactive practice for a student.
Everyone should keep in mind that all features and content should be well
motivated and designed to teaching something, rather than just to demonstrate
a neat technical aspect of web design.
The group contributions will be evaluated on the following (overlapping)
criteria: Although it is not expected that every group will emphasize all
of the criteria to the same extent, you should strive for a reasonable
level of each, with one or more dimensions that you are particularly outstanding
in.
-
Overall design and appearance of the component, including: transparency
of use, ease of navigation, integration with related topics
-
Subject content: depth, breadth, accuracy, clarity
-
Technical complexity: especially, the use of interactive tutoring techniques
-
General creativity, originality etc.
Groups will be required to maintain a detailed log of individual
activities and to submit these by the end of the term. If the logs,
in my judgement, indicate significantly different levels of effort and/or
contributions to the project on the part of the members, I may assign different
individual project grades to the members of a group. I don't like having
to do that but the fact is that it is not uncommon for some group members
to feel that some others haven't put in enough effort or made enough of
a contribution to the overall project and it is my responsibility to use
my best judgment regarding grades in these situations. These situations,
are not common, but neither are they rare. Try to avoid them by making
sure that YOU do your share, and by bringing any problems you might have
with other members' contributions to their attention as soon as they arise,
and to my attention as soon as it is clear that the problem is not being
adequately addressed. You should bring any persistent problems to my attention
when there is still time to do something constructive about them.
I don't mind trying to resolve conflicts when there is time to do something
useful about them but I don't like dealing with surprises at the end of
the term.
TUTOR TOPICS
Group topics can be defined in a number of ways. They can be defined by
the subject per se, or the manner of presentation. That is, a group might
want to concentrate on text based explanations, hypertext links and some
fairly basic interactive techniqes such as quiz questions with feed back
and direction toward explanations. Some questions might involve the student
pointing to parts of a diagram etc. Such a project would emphasize the
quality of the explanatory text and should cover a reasonable scope of
material. On the other extreme, a project might involve concentrating on
a relatively sophisticated interactive exercise or game which did not cover
a wide range of the topic but involved a significant programming and design
effort. An example of this is the tutoring system developed by a student
in this class three years ago who built a parser for logical expressions
that determined whether the expressions were syntactically valid and, depending
on the truth values of the components, whether the expressions were true.
(I know most of you are not ready for this but if you are, this is an option.)
I expect that most groups will be someplace inbetween. With three to five
people in a group you should be able to do some interesting interactive
work as well as a good basic textual explanation on many of these topics.
Look at the following outlines and give some thought to how much breadth
vs. depth you want to focus on.
-
Overview, Introductory and Background Topics (what is logic, different
kinds of logics, nature of proofs, etc.) This can and should be fairly
deep.
-
Propositional Logic
-
syntax
-
semantics
-
truth tables
-
inference methods
-
Predicate Logic
-
Syntax
-
Sematics
-
Inference
-
varibale binding and unification
-
proof methods (general, in predicate logic form)
-
conversion to normal forms (e.g., conjunctive normal form)
-
proof methods (computational efficient methods using normal forms, e.g.,
proof by refutation)
-
Explicit examples of the application of logic to reasoning or representation
problems. A good example of this is Russell & Norvig's treatment of
electronic circuits (in Introduction to Artificial Intelligence). These
sorts of examples would suggest interesting interactive techniques. (See
the example of circuit design later in the Analytical Engine, though that
is just propositional logic.)
-
Logic based knowledge representation (see an AI text).
-
Logic representation of the content of natural language statements (These
are related but not identical topics).
-
Logic programming (in general)
-
Prolog as an implementation of Logic Programming (This could emphasize
a detailed description of the Prolog theorum proving algorithm, and/or
use of Prolog for knowledge representation, etc....
-
Advanced Logics (higher order logics, nonmonotonic logics, modal logics,
etc... ) This could be an overview of several of these topics, ideas
behind them, uses, difficulties, etc. or it could concentrate on just one
or two.
-
Set theory (notation, set operations, venn diagrams, properties (e.g.,
associativity, commutivity), functions and relations) This is important
background for understanding some of the concepts of logic such as the
theoretical interpreations of logical semantics.
-
Other aspects of formal theory such as: (These are not really critical
for a logical tutor per se., but they are part of the general fields of
formal theory, discrete math. etc., and they are rich places to look for
interesting interactive possibilities.)
-
grammar theory (rewrite rules, levels of grammars and levels of formal
languages, basic parsing algorithms)
-
automata theory
I would like to make this, as close to possible, a coherent overall class
effort. If we stay with the idea of an overall introduction to logic,
then we should at least cover the first three topics in some form.
If the class want to change to overall take and there is more interest
in the more advanced topics we could shift the take somewhat in that direction
but I would like us to somehow fit the pieces together into a cohensive
project. We can talk about this as project proposals come in.
[Home Page]
[Course Schedule]
[Weekly Assignments]
[Answersto Homeworks]
[Answers to Quizzes]
[Class Notes][Class Member Posts]
[Dr. Metzler & GSA's posts][Class List]
[Web Resources][Term
Project Description]
[Analytical Engine Page]