![]()
![]()
This information effective for Fall 1999.
Check with instructor the first day of class for any changes.
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
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
Please see:
http://www.cse.ucsc.edu/~haussler