Student Portal   :   Info For Faculty/Staff   :   FAQ   :   Announcements   :   Contact Us 
      :        :        :      :        :    


Computer Science - Spring 1999



[CMPS-104A-01][CMPS-160-01][CMPS-290B-01]


  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.

Course Directory:  /afs/cats.ucsc.edu/courses/cmps104a-wm/

Newsgroup:  ucsc.class.cmps104a

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.


CMPS 160: Introduction to Computer Graphics

Introduces different techniques of modeling, transformation and rendering to obtain computer generated imagery. Topics include 2D and 3D graphical primitives, line drawings, curves and surface modeling, projections, matrix composition, hidden surface removal and shading algorithms.

Several intensive programming assignments using the C language, OpenGL Graphics library and public domain XFORMS for creating user interface is required on the SGI machines. A major programming project of students'choice is required at the end of the quarter.

Prerequisites: CMP 101 (data structures and C programming), and Mathematics 12 or 17 or 21 or 27 (matrix manipulation, determinants, dot products, cross products).

Required TextBook: "Interactive Computer Graphics: A top-down approach with OpenGL", by Edward Angel, Addison-Wesley.

Recommended Books:

1. OpenGL Programming Guide by Neider, Davis and Woo, Addison-Wesley

2. OpenGL Reference Manual, Addison-Wesley.

 
COMPUTER SCIENCE 290B "Topics in Computer Graphics"

Dear student,

I am offering a course CMP 290B titled "Topics in Computer Graphics" in Spring 1999 (next quarter). A topics course gives flexibility to the instructor to choose any focus area within the broad discipline.

At this point, I have not formed a definite idea of the topic that I would like to cover. I would like to decide a firm topic and the format for the course in consultation with students who are likely to take this course.

CONTENTS:

To put things in perspective, I have covered following topicsin this course in the past:

(i) scientific visualization

(ii) multi-modal scientific visualization

(with emphasis on using sound as an additional modality to retrieve scientific information),

(iii) scattered data modeling,

(iv) computer-aided geometric design,

(v) information visualization, web and java graphics,

(vi) wavelets.

METHODOLOGY:

Typically, the courses have been mostly lecture-based on pre-selected topics with students presenting at least one talk.

PROPOSED PLAN:

I am currently considering to focus on visualization (using vision)/sonification (using sound)/ perceptualization (using haptic devices) of data (scientific data or informational data such as network, graphs, tables etc.). HOWEVER I AM OPEN TO OTHER IDEAS AT THIS TIME.

I am also considering to adopt a project-based methodology where the students will choose a project to work on within the first two weeks of classes, research concepts and develop tools during next three weeks and focus on competing a whole system within the last five weeks. The objective will be to develop a simple but whole system that one can demonstrate and perhaps publish. Although I will suggest a bag of projects, my hope is that you can use this opportunity to work on some project that you really would have liked to work on.

ELIGIBILITY:

All graduate students in CS, CE and EE are eligible. Most undergraduate students in CS/CE/EE with some graphics programming experience are eligible. Students with psychology and music background or interest are also welcome! They can pair up with a CS/CE student to develop a project. In the past, students with psychology and music background have taken this course and published papers based on the project work in this class.

If you are not sure, just send me an email.

OBJECTIVE OF THIS EMAIL: is to get your feedback in order to decide what exactly I should cover and what approach i should take.

The course meets MWF 12:30-1:40pm.

Even if you have taken this course before, you MAY be able to repeat this course depending upon the exact contents for this course to be decided. Therefore, even if you have taken this course before, please feel free to send in your comments/suggestions.

PLEASE RESPOND IF YOU ARE PLANNING OR CONSIDERING TO TAKE THIS COURSE.

In your email, please let me know which topics or projects you are most likely to be interested in.

THIS IS YOUR CHANCE TO SHAPE THIS COURSE.

Suresh Lodha

 

 

 

Revised 7/30/04.