FALL 1999

This information effective for Fall 1999.
Check with instructor the first day of class for any changes.


Computer Science

[CMPS-012B-01] [CMPS-104A-01] [CMPS-243-01]

 


CMPS-012B:  Introduction to Data Structures

Catalog Description:  Teaches students to implement common data structures and the associated algorithms with each data structure, through progressively difficult exercises.  Topics include big ``O'' notation; pointers, recursion (induction), and dynamic allocation; linked lists and list processing; stacks, queues, binary trees and binary search trees; simple sorting techniques and simple search techniques.  ANSI C programming is introduced.  Prerequisite:  CMPS-012A.  Prior experience with Cats Unix is assumed. 

All assignments will be submitted electronically via the Cats Unix system.  A Cats Unix account is required in order to pass the course.  All handouts will be distributed electronically in the Unix course directory.  For old information relevant to the last time the course was given, which will be similar, though not the same as, the coming quarter, see the course directory.  The detailed syllabus will be available in the course directory by the first day of classes and the assignments posted soon thereafter. 

Course Directory:  /afs/cats.ucsc.edu/courses/cmps012b-wm/
Newsgroup: ucsc.class.cmps012b


CMPS-104A:  Fundamentals of Compiler Design I.

Catalog Description:  An introduction to the basic techniques used in compiler design.  Topics include compiler structure, symbol tables, regular expressions and languages, finite automata, lexical analysis, context-free languages, LL(1), recursive descent, LALR(1), and LR(1) parsing; and attribute grammars as a model of syntax-directed translation.  Students use compiler building tools to construct a working compiler.  Prerequisite:  CMPS-101 and CMPE-012C.

All assignments will be submitted electronically via the Cats Unix system.  A Cats Unix account is required in order to pass the course.  All handouts will be distributed electronically in the Unix course directory.  For old information relevant to the last time the course was given, which will be similar, though not the same as, the coming quarter, see the course directory.  The detailed syllabus will be available in the course directory by the first day of classes and the assignments posted soon thereafter. 

Students wanting to develop their compilers on their own computers will require the Gnu tools gcc, flex, and bison.  Free Gnu software may be obtained from www.gnu.org.  This software is already provided on the Cats machines. Course Directory:  /afs/cats.ucsc.edu/courses/cmps104a-wm/
Newsgroup:  ucsc.class.cmps104a

[top of page]


CMPS-243: Bioinformatics

Please see:

http://www.cse.ucsc.edu/~haussler

 

[top of page]