CS 521 - Syllabus (Winter 1998)

Course Outline CS 521 Winter - 1998

Instructor: William A. Barrett TAs: Eric Mortensen: 2264 TMCB
3360 TMCB x7430 TA Hrs:
Office Hrs: MW 10:00-11:00 am Help Section:
Text: Pattern Recognition (Schalkoff) Lab: Open Labs

Part 1 Introduction and General Pattern Recognition Concerns (3 lectures) Ch.1
Feature Vector and Feature Space, Classifiers, Decision Regions and
Boundaries, and Discriminant Functions
Part 2 Statistical Pattern Recognition (StatPR) (17 lectures) Ch.2-5
Gaussian Models; Discriminant Functions; Examples; Training; Unsupervised
Approaches; Classifier Performance, Risk, and Errors
Parametric Estimation, Supervised versus Unsupervised Learning;
Maximum Likelihood Estimation, Bayesian Parameter Estimation;
Supervised Learning Using Nonparametric Approaches; Parzen Windows;
k-nn Nonparametric Estimation; Nonparametric Learning; Nearest Neighbor Rule
Techniques to Directly Obtain Linear Classifiers
Unsupervised Learning Approaches; The Clustering Concept and the Search
for Natural Clusters; The c-means Algorithm; Formal Characterization of
Clustering; Clustering Strategies

Part 3 Syntactic Pattern Recognition (SyntPR)
(10 lectures) Ch.6-9
Grammar-Based Approach and Applications; Formal Grammars;
Examples: Context-Sensitive; Context-Free, and Finite State Grammars;
2-D Line-Drawing Description Grammar; Picture Description Language
Higher Dimensional Grammars; Stochastic Grammars
Graphs; Graph Isomorphisms; Attributed Graphs: Matching and Similarity

Part 4 Pattern Recognition (NeurPR) (10 lectures) Ch.10-13
Physical Neural Nets; Artificial Neural Nets;
The Delta Rule; The Generalized Delta Rule; Example: Pattern Associator for
Character Classification
Nets (2 lectures)

Jan. 9 Lab/Assignments Help Section: Assignment Guidelines, Lab Accounts, Khoros/Cantata, Documentation, Programming Tools, Applications, Libraries: VLib with examples, Khoros
Jan. 23 Assignment #1 DUE - Scheduled times for pass-off
Feb. 13 Assignment #2 DUE - Scheduled times for pass-off
Feb.18-21 *********** EXAM # 1 (Chptrs. 1 - 5) **********
Mar. 2-6 In-Class 10-minute presentation of Class Project
Mar. 13 Assignment #3 DUE - Scheduled times for pass-off
Mar. 25-28 ********** EXAM #2 (Chptrs. 6 - 9) **********
Apr. 10-13 Class Project Due - In-Class Presentations (DEMO or DIE)
Apr. 20 * Final Exam (Comprehensive), Monday, Apr. 20, 7:00 am - 10:00 am *

Programming Assignments:
Assignment #1 - 25 pts. Start Assignments/Programs early. Late penalty
Assignment #2 - 100 pts. is 2% per school day up to 25% off. April 14 is
Assignment #3 - 100 pts. the final due date for all Assignments. Priority
Assignment #4 - 125 pts. will be given to current assignments. Assignments
Total: 350 pts. will not be accepted without a write-up.

Problems - 50 pts.
Exam #1 - 100 pts. Please do not miss an Exam! Make-ups are
Exam #2 - 100 pts. rarely given. The Final will be comprehensive,
Final - 100 pts. covering Chapters 1 - 13 and all lecture material.
Total: 350 pts.

Problems from the text will be assigned. These problems will be collected and are due at the beginning of class on the day indicated. Problems will be worth a total of 50 points. If that is not sufficient incentive to do the problems, note that each Exam will contain at least one problem from the end of one of the chapters. Programming Assignments + Exams + Problems = 700 pts.
653 - 700 guarantees at least an A
630 - 652 guarantees at least an A-
607 - 629 guarantees at least a B+
583 - 606 guarantees at least a B
560 - 582 guarantees at least a B-
537 - 559 guarantees at least a C+
513 - 536 guarantees at least a C
490 - 512 guarantees at least a C-
467 - 489 guarantees at least a D+
443 - 466 guarantees at least a D
420 - 442 guarantees at least a D-

Assignment Guidelines:

All Assignments will require:

1. an executable or batch file which solves the problem described in the assignment.
2. an electronic (soft) copy of your final well documented source code, write-up (see below),
and other pertinent (make, read-me, etc.) files at the time of pass-off. This will allow the
instructor/TA to examine your work without destroying the forests. This also allows us to preserve an archival copy of your meritorious effort, should it qualify as such.
3. scheduling a time to pass off the assignment with the instructor/TA. (And actually
passing it off.
4. a hard copy Write-Up which contains a literate, pleasant, and scientific job describing:
a. your solution to the problem, including any supplemental (non-programming) questions asked in the problems.
b. the algorithms used and their evolution in nice structural pseudocode.
c. analysis: what worked and what didn't as well as suggestions for improvement.
Note: Assignments will not be accepted for passing off without a Write-Up.
5. You are to enjoy the assignments.

Use the Khoros visual programming environment (Cantata) to gain familiarity with image processing functions and for assistance with algorithm development. In addition, programming examples can be found in courses/cs521/public.

For any and all assignments, except where otherwise specified, any existing code, tools or pattern recognition resources such as VLib, Cantata/Khoros functions, may be used through in-line calls to library routines, system calls, or even putting command-line utilities together in a script file.

Images and any help files pertaining to the assignments will be found on web pages or posted on
the News Group.

General Grading Criteria:

1. Completeness (Did you finish the assignment?)
2. Correctness (accuracy)
3. Algorithm Design and Implementation (modular, structured)
4. Efficiency (coding and execution)
5. Originality, innovative approach (even clever?)
6. Documentation (write-up and code)
a. Clear, easy to follow code, good programming style (modular, structured, documented)?
b. Algorithms given, described? Write-up has good technical writing style?
c. Analysis, results, conclusions, suggestions for further work?