MyUCSC  :   Info For Faculty/Staff   :   FAQ   :   Announcements   :   Contact Us 
      :        :        :      :        :    


Computer Science - Fall 1998



[CMPS-012B-01][CMPS-104A-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.

 

SYLLABUS AND ASSIGNMENTS:

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 Cats Unix class directory. For old information relevant to the Spring quarter 1998, which will be similar, though not the same as, the Fall quarter 1998. The detailed syllabus will be available in the class locker by the first day of classes and the assignments posted soon thereafter. The class newsgroup is ucsc.class.cmps012b.

See the Cats Unix directory: /afs/cats.ucsc.edu/courses/cmps012b-wm/ for more information, with the advisory that it contains information for the previous quarter.


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.

SYLLABUS AND ASSIGNMENTS:

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 Cats Unix class 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 class directory. The detailed syllabus will be available in the class directory by the first day of classes and the assignments posted soon thereafter. The class newsgroup is ucsc.class.cmps104a. 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 http://www.gnu.org/. This software is already provided on the Cats machines.

See the Cats Unix directory /afs/cats.ucsc.edu/courses/cmps104a-wm/ for more information, with the advisory that it contains information for the previous quarter.

 

 

 

Revised 7/15/04.