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


Computer Science - Spring 1998



[CMPS-012B-01][CMPS-060G-01][CMPS-080K-01][CMPS-111-01]
[CMPS-115-01][CMPS-160-01][CMPS-290B-01]


CMPS-012B: Introduction to Data Structures

 

COURSE 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 Athena/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 class locker, currently named /cats/cmps012b-wm/, but which will soon move to the Andrew file system as /afs/cats.ucsc.edu/courses/cmps012b-wm/. The detailed syllabus will be available in the class locker by the first day of classes and the assignments posted thereafter. The class newsgroup is ucsc.class.cmps012b.

 
CMPS 60G

Please visit the course web site at:

http://www.cse.ucsc.edu/~charlie/classes/60g/spring98/ 


CMPS 80K

Please visit the course web site at:

http://www.cse.ucsc.edu/~karplus/80k


CMPS-111 Introduction to Operating Systems.

 

DESCRIPTION

Fundamental principles of operating systems: process synchronization, deadlocks, memory management, resource allocation, scheduling, storage systems, and study of several operating systems. A sequence of major programming projects will be required. Prerequisites: CMPS101 and CMPE012C.

 

TEXTBOOK
  • Abraham Silberschatz and Peter Galvin: Operating System Concepts, FIFTH edition. Addison-Wesley, 1998. (required)

 

TOPICS & PROJECTS

Detailed study of Parts I through IV: Processes, Storage, and I/O. Parts V through VII will be covered as time permits: Distributed systems, protection and security and case studies.

Projects will be modifications to the Nachos system.

C++ will be the programming language used, but expert knowledge of C++ is not required.

 

EVALUATIONS

30% = final exam

25% = in-class tests

45% = programming assignments

 
CMPS 115

Please visit the course web site at:

http://www.cse.ucsc.edu/~linda/classes/115


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:

"Computer Graphics: C Version", 2nd Edition by D. Hearn and M. Baker

Recommended Books:
  • OpenGL Programming Guide by Neider, Davis and Woo, Addison-Wesley
  • OpenGL Reference Manual, Addison-Wesley.

 


Computer Science 109 - "Advanced Programming"

Catalog:
An introduction to object-oriented techniques of programming using the C++ language. Extensive practice using a computer to solve problems, including a variety of data-structure algorithms.

Prerequisite: cmps012a or cmps060n.

Note: cmps012a or cmps060n taken prior to 1994q2 would not adequately prepare a student for cmps109. A full quarter of prior programming experience in the C language will be assumed.

Textbooks:

Ira Pohl: ``Object-Oriented Programming using C++ Second Edition''. Addison-Wesley, 1997. ISBN: 0-201-89550-1. [REQUIRED]

Bjarne Stroustrup: ``The C++ Programming Language Third Edition''.Addison-Wesley, 1997. ISBN: 0-201-88954-4. [OPTIONAL]

Class locker:

/cats/cmps109/ -- currently under construction. Syllabus and assignments will be there by the beginning of the quarter. A CATS account is required for the course and assignments will be submitted electronically.


CMPS 290B: Topics in Advanced Computer Graphics MULTI-MODAL SCIENTIFIC VISUALIZATION

Instructor:
Suresh K. Lodha
Time:
MWF 3:30-4:40
Location:
To be announced

 

The focus of this topics course this quarter is to DESIGN and EVALUATE software systems for displaying scientific data using two modalities -- vision and SOUND. This course is designed for graduate students in COMPUTER SCIENCE/ENGINEERING and PSYCHOLOGY. Graduate students in computer music and those involved in the development of some application using computer graphics may also benefit from this course. However experienced or advanced undergraduate students may also take the course with prior consent of the instructor.

DESIGN:

Computer graphics has been the dominant paradigm for visualizing scientific data for more than a decade. One of the major focus of this course is to learn to use SOUND (in addition to graphics) -- both spoken language and non-speech sound (such as the sound of rain or whistle) -- in scientific visualization. Primarily, CSound will be used to synthesize sounds, although I am open to other suggestions. Literature on using sound for scientific visualization will be reviewed.

EVALUATION:

A question that we will be asking ourselves through out the course is "Is vision and/or sound really useful in displaying scientific data?" Psychology literature on design of tasks, evaluation and experimental methodology will be presented. Existing literature on evaluating visualization using vision and/or sound and related topics will also be reviewed.

PROJECTS:

Design and evaluation of multi-modal scientific visualization is a rapidly emerging area of research. Students are expected to participate actively in classroom discussions, read and present papers, and take initiatives in identifying fruitful area of research. The highlight will be a final project that will consist of

  1. design of a system for visualizing any scientific data or information using both vision and sound, and
  2. evaluation of the system by conducting perceptual experiments on human subjects. Some smaller projects will also be assigned during the quarter as a preparation towards the final project.

The vision-plus-sound system can be designed using any software that the student is familiar with. Psychology students will be encouraged to team up with computer science students for the final project. The course can also be of potential benefit to computer music students who may want to explore the use of musical sounds in investigating scientific data.

 

PREREQUISITE and ENROLLMENT:

Some background in either psychology or computer science/engineering is expected. Students with background in computer music or involved in the development of some application using computer graphics will also be considered. I will need to talk to the student in person or via email to determine whether you have adequate preparation for this course and to come to a mutual understanding of what to expect from this course.

 

WHAT TO DO TO ENROLL IN THIS COURSE

***********************************

IF YOU ARE INTERESTED IN TAKING THIS CLASS, PLEASE SEND AN EMAIL TO THE INSTRUCTOR (lodha@cse.ucsc.edu). Please let me know what you may or may not want to see in this course. Withing the bounds set by above description, you can certainly influence the contents of this course. I will be very glad to meet with you in person, if necessary, prior to the beginning of the course. Finally, show up for the first class on APRIL 8, Wednesday, from 3:30-4:40pm.

The course contents of this course is NEW and EXCITING! I expect this course to lead us to the cutting-edge research in the area of human-computer interaction for scientific visualization. YOUR FINAL PROJECT MAY LEAD TO A PUBLICATION! Even if you have taken this course (CMP 290B) before, you can repeat this course for full credit.

 

 

 

Revised 7/13/04.