CSC 173:
Computation and
Formal Systems
CSC 173 is the third course in the pre-major sequence for
Computer Science, following CSC 171 (Computer Programming)
and CSC 172 (Data Structures).
This course introduces students to
formal systems of computation
(including finite automata, context-free grammars, and logic)
and their application in advanced programming.
CSC 173 is a blend of theory and practice;
we will augment the theory covered in the classroom
with practical programming exercises that apply the theory.
For Spring 1999, CSC 173 is held Tuesday and Thursday from 9:40 to
10:55 in CSB 601. Come early for the best seats.
Course Organization
Meet the instructor
and TA1
and TA2
Meet your classmates
(some pictures still missing)
Office hours
Getting a lab account
Check the prereqs
Course bibliography
Grading policy
Calendar of Classes
Background Material
World-Wide Web (WWW)
and Netscape Overview
Very Brief
Overview of Unix
Review Material
Data structures review
Analysis of algorithms
review
ADTs and OOP
Review of C++
Software Development Tools
Lecture Notes
Course Overview
Relations
Graphs
Finite Automata and
Regular Expressions
Context-Free Grammars
Propositional Logic
Predicate Logic
Computability
Genetic Algorithms(Extra)
Assignments
Relational database
Using Graphs to
Solve the Jug Problem
C++ Scanner
Exercises
10.2.1, 10.3.3, 10.4.2, 10.4.4 (extra credit)
Scientific
calculator
Propositional logic:
Proof by Contradiction with Resolution
Predicate logic as
computation: Prolog
Genetic algorithms
as computation: Function evaluation (Extra)
last modified Jan 1999 / Randal Nelson /
based on pages developed by Tom Leblanc /
using enhanced HTML 2.0; requires Netscape 1.1+