Winter 2000

This information effective for Winter 2000.
Check with instructor the first day of class for any changes.


Computer Science

[CMPS-012B-01] [CMPS-080C-01] [CMPS-104A-01] [CMPS-109-01]
[CMPS-260-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

[top of page]


CMP 80C: Computer Art

Instructor: Suresh Lodha

email: lodha@cse.ucsc.edu
time: TuTh 4:00-5:45pm.

Course Description

If you are falling in love, do you know what you are getting into?

If you oppose an authority, do you know what you are getting into?

If the computer fails to respond, do you know what you are getting into?

If you create a true masterpiece, do you know what you are getting into?

I don't.

 

Fasten your seat belt.

Come and experience your wildest adventure of the new millennium! -- for an absolutely unique learning environment! Hopefully, you will explore your creativity and discover yourself through art. We will also try to learn something about the computers on the way.

No prerequisite. Just be brave and willing to share your deepest thoughts. Yup, it is the computer art class. 

[top of page]


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-109: Advanced Programming

Instructor: Charlie McDowell

Email: charlie@cse.ucsc.edu

Information on this class can be found at:

http://www.cse.ucsc.edu/classes/cmps109/Winter00/

[top of page]


CMP 260: Advanced Computer Graphics

Instructor: Suresh Lodha

email: lodha@cse.ucsc.edu
time: TuTh 4:00-5:45pm.

I will run two parallel tracks in this course. The first track will cover advanced modeling, rendering and animation concepts. Emphasis will be on graphics for art and entertainment. Traditional concepts such as NURBS, ray-tracing, and free form deformation may be mixed with recent results depending upon students' interests. The second track will cover rendering of scientific data-- scalar, vector and tensor.

Students will be required to do a final project in one of the two tracks above. The project will require graphics programming experience in C, OpenGL and XFORMS. You are encouraged to send an email to the instructor (lodha@cse.ucsc.edu) to find out more about the course. If you are not an Engineering major or if you are an undergraduate student or if you do not have the required graphics programming experience and still interested in this class, please contact the instructor before enrolling in this class.

[top of page]