CS 301K Foundations of Logical Thought
Elaine Rich
Alan
Cline
Our email addresses Quest iClickers
Piazza Canvas Problem sessions Grading Exams Policies Projects Logic Tools and Games
|
|
In
this class, you’ll learn to think abstractly, reason formally, and
connect those skills to the design of computing systems. The goal of the class is to give you a
solid foundation on which you’ll build as you take additional Computer
Science classes. The
major topics we’ll cover are: ·
Boolean
(Propositional) Logic: This logic
forms the core of almost every other logical system. It’s also the basis for computer
circuit design. ·
Boolean
Logic Proofs: Here we’ll
learn the fundamental structure of reasoned arguments. ·
Predicate
(Quantified) Logic: Now we’ll have the power to make useful statements
about our world. We’ll
practice translating between “natural” statements and formal,
logical ones. ·
Predicate
Logic Proofs: We’ll extend
our proof techniques so that they work in this more powerful system. ·
A
Richer Catalogue of Proof Techniques, including mathematical Induction ·
Sets:
We’ll formalize our intuitive idea of what a set is and see how we can
then prove useful claims. ·
Relations
and functions: We’ll formalize our intuitive idea of relating objects
to each other. We’ll look
at one important application of this formalism: Real world database
management systems. There
is no paper textbook for this class.
Instead, we have created an online learning environment, FREGE, hosted on the Quest platform. You will have to get a Quest account
for this class. You will do a lot
of your learning outside of class, as you work through the online materials
in FREGE. In class we’ll
discuss what you’ve learned and explore new ways to exploit your
skills. Target
Audience This
course is designed for beginning Computer Science students and for other
students who want to develop their formal reasoning skills. Examples are chosen from a variety of
computing applications in order to make it clear why this kind of theoretical
material is useful for computer scientists and programmers. Prerequisites
There
are no formal prerequisites. If
You Have Signed Up for the Class (or Are on the Waiting List) You
should read the Class Policies page to find
out what you should do to be prepared for class. Contact Information
|