##
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+