CSC-COMPUTER
SCIENCE -- 2001-03 Catalog
Computer Science Department
CSC
100 Computer Science Orientation (2)
Introduction
to the computer science discipline for majors. Computer problem solving and the
use of computers. Success skills for computer science majors. Career paths and
opportunities. Ethical behavior in the computer science discipline. Interaction
with upper division students, alumni and faculty. 2 seminars. Prerequisite:
Computer science major.
CSC
101 Fundamentals of Computer Science I
(4)
(Also
listed as CPE 101)
Basic
principles of algorithmic problem solving and programming using methods of
top-down design, stepwise refinement and procedural abstraction. Basic control
structures, data types, and input/output. Introduction to the software
development process: design, implementation, testing and documentation. The
syntax and semantics of a modern programming language. 3 lectures, 1
laboratory. Prerequisite: CSC 100 or CSC 111 or consent of instructor.
CSC
102 Fundamentals of Computer Science II
(4)
(Also listed as CPE 102)
Continuation
of the software development process: requirements analysis, specification,
design, implementation and testing of abstract data types. Application
development using abstract data types. Introduction to the analysis of
algorithms. Software design case studies and practice. 3 lectures, 1
laboratory. Prerequisite: CSC 101 with a C- grade or better and either MATH 141
or MATH 221 with a C- grade or better, or consent of instructor.
CSC
103 Fundamentals of Computer Science
III (4)
(Also listed as CPE 103)
Continuation
of material from CSC 102: abstract data types specification and implementation,
the analysis of algorithms and the software development process. Introduction
to a specific high level design notation. Recursive algorithms. Software design
case studies and practice. Software testing and program verification. 3
lectures, 1 laboratory. Prerequisite: CSC 102 with a C- grade or better and CSC
141 with a C- grade or better, or consent of instructor.
CSC
109 Accelerated Introduction to
Computer
Science (5) (Also listed as CPE 109)
Accelerated
coverage of the material in CSC 101, CSC 102, and CSC 103. 4 lectures, 1
activity. Corequisite: CSC 141, significant background in computer science, and
consent of instructor.
CSC
110 Computers and Computer
Applications: Windows (3)
The
computer as a problem-solving tool. A practical introduction to microcomputers,
timeshared computer systems and fundamental computing concepts. Use of
applications software. Credit not allowed for CSC majors. Miscellaneous course
fee may be required-see Class Schedule. 2 lectures, 1 activity.
CSC
111 Computer Applications for
Scientists and
Engineers (3)
Use
of computers in science and engineering, with examples from physics, chemistry
and biology. Credit not allowed for CSC majors. 2 lectures, 1 activity.
Prerequisite: MATH 118 or equivalent.
CSC
113 Computers and Computer
Applications: Macintosh (3)
The
computer as a problem-solving tool. A working introduction to microcomputers
and fundamental computer concepts. Use of applications software. Credit not
allowed for CSC majors. Miscellaneous course fee required–see Class Schedule. 2 lectures, 1 activity.
CSC
119 Information Retrieval and
Management (4)
Use
of applications software, including database software, to create and manage
information. Credit not allowed for CSC majors. Miscellaneous course fee may be
required-see Class Schedule. 4 lectures. Prerequisite: Completion of ELM
requirement.
CSC
141 Discrete Structures I (4)
Introduction
to structures of computer science: numbers, sets, relations, functions and
trees. Propositional and predicate logic. Applications of predicate logic:
preconditions, postconditions, invariants, guards. Inductive proofs.
Applications to verification of algorithms. Introduction to complexity of
algorithms. 4 lectures. Corequisite: CSC 102. Prerequisite: MATH 118 and MATH
119, or high school equivalent.
CSC
142 Discrete Structures II (4)
Advanced
structures of computer science: sequences, strings, graphs, networks. Recursion
and recurrence relations. Introduction to combinatorics. Proof techniques.
Complexity of algorithms. Advanced applicaton to verification of algorithms. 4
lectures. Prerequisite: CSC 102 and CSC 141.
CSC
200 Special Problems for Undergraduates
(1–2)
Individual
investigation, research, studies, or surveys of selected problems. Total credit
limited to 4 units, with a maximum of 2 units per quarter. Prerequisite:
Consent of instructor.
CSC
205 Software Engineering I (4) (Also
listed as CPE 205)
Introduction
to the software lifecycle. Methods and tools for the analysis, design, and
specification of large, complex software systems. Project documentation,
organization and control, communication, and time and cost estimates. Group
laboratory project. Graphical User Interface Design. Technical presentation
methods and practice. Software design case studies and practices. Ethical and
societal issues in software engineering. Miscellaneous course fee may be
required-see Class Schedule. 3 lectures, 1 laboratory. Prerequisite: CSC 103.
CSC
206 Software Engineering II (4) (Also
listed as CPE 206)
Continuation
of the software lifecycle. Methods and tools for the implementation,
integration, testing and maintenance of large, complex software systems.
Program development and test environments. Group laboratory project. Technical
presentation methods and practice. Ethical and societal issues in software
engineering. 3 lectures, 1 laboratory. Prerequisite: CSC 205.
CSC
215 Computer Architecture I (4) (Also
listed as CPE 215)
Assembly
level computer organization. Basic machine representation of numeric and
non-numeric data. Assembly level instruction sets, address modes and the
underlying computer architecture. Intended for CPE and CSC majors.
Miscellaneous course fee required–see Class
Schedule. 3 lectures, 1 laboratory. Prerequisite: CPE 219 and CSC 102.
CSC
231 Fortran for Engineering Students
(2)
Programming
techniques and procedures with applications to engineering problems in FORTRAN.
Introduction to numerical methods and simulation. 2 activities. Prerequisite:
MATH 142 or MATH 132; PHYS 121 or PHYS 131.
CSC
233 COBOL Programming (3)
Structure
of the Common Business-Oriented Language (COBOL). Coding fundamentals and
program logic. Writing of complete COBOL programs applied to typical business
data processing problems. 3 lectures. Prerequisite: Any computer programming
course.
CSC
234 C and Unix (3)
The
C programming language. Operators, standard I/O functions, strings, pointers
and arrays, data types and storage classes. The Unix programming environment:
shell features, shell programming and system calls. Credit not allowed for CSC
majors. 3 lectures.
CSC
239 Selected Programming Languages (3)
A
programming language will be selected from languages of current interest.
Intended for proficient programmers who want to learn another programming
language. Class Schedule will list
topic selected. 3 lectures. Prerequisite: Knowledge of a programming language.
CSC
270 Computer Graphics Applications (4)
(Also listed as CPE 270)
Use
of common graphics applications packages. Business graphics, figure editing,
animation and image editing, photorealistic image generation, scientific
visualization and multimedia. 2 lectures, 2 activities.
CSC
300 Professional Responsibilities (4)
The
responsibilities of the computer science professional. The ACM Code of Ethics,
software economics, quality tradeoffs, software safety, intellectual property,
history of computing and the social implications of computers in the modern
world. Technical presentation methods and practice. 4 lectures. Prerequisite:
CSC 206.
CSC
302 Computers and Society (4) GE Area F
Social, ethical, political and technological implications and effects of computers in the modern world. Examination of the benefits and side-effects of computer applications and automation. Case study review and analysis. Technical elective credit not allowed for CSC/CPE majors. 4 lectures. Prerequisite: Completion of GE Area B, and junior standing (Updated 6/25/02).
CSC
305 Individual Software Design and
Development (4)
(Also listed as CPE 305)
Practical
software development skills needed for construction of mid-sized
production-quality software modules, using the CSC upper division programming
language. Topics include inheritance, exceptions, and memory and disk-based
dynamic data structures. Students must complete an individual programming
project of mid-level complexity. 3 lectures, 1 laboratory. Prerequisite: CSC
103.
CSC
310 Computers for Poets (4) GE Area F
How
computers and computer devices work. Introduction to software systems and
applications. How computers connect with various media including images, speech
and data. How information is encoded and transmitted across networks.
Relationship between the computer and human information processing. Technical
elective credit not allowed for CSC/CPE majors. 4 lectures. Prerequisite:
Junior standing and completion of GE Area B.
CSC
315 Computer Architecture II (4) (Also
listed as CPE 315)
Intermediate
architecture topics. Levels of virtual machines and their languages. Special
emphasis on data paths and microprogramming. Design of conventional machines;
study of tradeoffs in various designs. Miscellaneous course fee required–see Class Schedule. 3 lectures, 1
laboratory. Prerequisite: CSC 103, CSC/CPE 215, CPE/EE 219.
CSC
316 Computer Architecture III (4) (Also
listed as CPE 316)
Microprocessor
architecture and interfacing. Emphasis on study of one microprocessor and how
it interfaces with other logical components of a computer system. Serial and
parallel I/O, static and dynamic RAM, ROM, DMA and Disk Controllers. 3
lectures, 1 laboratory. Prerequisite: CSC/CPE 315.
CSC
330 Programming Languages I (4)
Comparison
of structure and semantics of various high level programming languages. BNF
grammars. Language design issues and techniques, including parameter passing,
storage allocation, storage mapping and binding concepts. 4 lectures.
Prerequisite: CSC 103 and CSC/CPE 215.
CSC
334 Advanced Topics in Unix (4)
Advanced
topics in Unix, system calls, library functions, shell scripts, and selected
Unix tools. 4 lectures. Prerequisite: CSC 103 or CSC 234.
CSC
341 Numerical Engineering Analysis (4) GE B6
An
intensive survey of numerical analysis techniques used for solving engineering
problems. Topics include solution of nonlinear equations, solution of linear
systems, interpolation, numerical quadrature, ordinary differential equations
and boundary value problems. Not open to students who have completed CSC 342. 4
lectures. Prerequisite: MATH 242 and knowledge of Fortran or C.
CSC
342 Numerical Analysis I (3)
Computer
solutions of nonlinear equations and systems of linear equations. Polynomial
interpolation. Numerical quadrature. Introduction to the solution of ordinary
differential equations. 3 lectures. Prerequisite: MATH 143 and knowledge of
Fortran, Pascal, Ada, or C.
CSC
343 Numerical Analysis II (3)
Solution
of systems of differential equations, predictor-corrector methods, stiff
equations. Approximation methods: cubic splines, B-splines, Bezier curves,
least squares, methods for solving boundary value problems. 3 lectures.
Prerequisite: CSC 342 or equivalent.
CSC
348 Bioinformatics (4) GE Area F
(Also listed as BIO/CHEM/CPE 348)
Introduction
to problems in molecular biology and the use of computers to address them. The
computational perspectives on problems involving nucleic acid and protein
analysis, and the algorithmic and database approaches to their solution. The
ethical and societal challenges of genetic manipulation. 3 lectures, 1
laboratory. Prerequisite: Consent of instructor, or the following: CSC 103,
completion of GE Area B, and junior standing.
CSC
349 Design and Analysis of Algorithms
(4)
Intermediate
and advanced algorithms and their analysis. Mathematical, geometrical, and
graph algorithms. NP-complete problems. Additional topics will be chosen from
pattern matching, file compression, cryptology, dynamic and linear programming,
and exhaustive search. 4 lectures. Prerequisite: CSC 103, MATH 142 and
completion of all mathematics/statistics support courses.
CSC
358 Computer System Administration (2)
Fundamental
concepts of Unix system administration. Use of shell scripts and utilities.
Techniques of networks and data communications. Methods of system maintenance
and accounting. 2 seminars. Prerequisite: CSC 103 or permission of instructor.
CSC
361 File Structures (4)
External storage devices. Character, record, and
block I/O. Blocking and buffering. File structures: sequential, indexed
sequential, B trees, hashing, multi-key and linked. Primary and secondary
indexing. Design and implementation of record and object storage managers. Data
compression. Multi-media file formats. 4 lectures. Prerequisite: CSC 103.
CSC
365 Introduction to Database Systems
(4)
(Also listed as CPE 365)
Basic
principles of database management systems (DBMS) and of DBMS application
development. DBMS objectives, systems architecture, database models with
emphasis on Entity-Relationship and Relational models, data definition and
manipulation languages, the Structured Query Language (SQL), database design,
application development tools. 3 lectures, 1 laboratory. Prerequisite: CSC 103.
CSC
366 Database Modeling, Design and
Implementation (4) (Also listed as CPE 366)
The
database modeling problem. Database modeling levels: external, conceptual,
logical and physical. Database models: entity-relationship, relational,
object-oriented, semantic, and object-relational. Normal forms. Distributed
database design. Functional analysis of database applications and transaction
specification, design, and implementation. 3 lectures, 1 laboratory.
Prerequisite: CSC 365.
CSC
369 Introduction to Distributed
Computing (4)
(Also listed as CPE 369)
Introduction
to distributed systems as a computing paradigm, the client-server model,
distributed algorithms, interprocess communication, distributed computing
environment, data replication and fault tolerance. Emphasis on distributed
software above the operating system layer. 3 lectures, 1 laboratory.
Prerequisite: CSC 103.
CSC
400 Special Problems for Advanced
Undergraduates (1–2)
Individual
investigation, research, studies or surveys of selected problems. Total credit
limited to 4 units, with a maximum of 2 units per quarter. Prerequisite:
Consent of instructor.
CSC
402 Software Requirements Engineering
(4)
(Also listed as CPE 402)
Software
requirements elicitation, analysis and documentation. Team process
infrastructure and resource estimation to support appropriate levels of
quality. Software architectural design. 3 lectures, 1 laboratory. Prerequisite:
CPE/CSC 305, CPE/CSC 206, CPE/CSC 494 or CPE/CSC 495.
CSC
405 Software Construction (4) (Also listed as CPE 405)
Design
and construction of sizeable software products. Technical management of
software development teams. Software development process models, software design, documentation,
quality assurance during development, software unit and integration testing;
CASE tools, development environments, test tools, configuration management. 3
lectures, 1 laboratory. Prerequisite: CPE/CSC 402.
CSC
406 Software Deployment (4) (Also
listed as CPE 406)
Deployment
of a sizeable software product by a student team. Software maintenance and
deployment economic issues. Management of deployed software: version control,
defect tracking and technical support. CPE/CSC 406 is the capstone software
engineering course. 3 lectures, 1 laboratory. Prerequisite: CPE/CSC 405.
CSC
430 Programming Languages II (4) (Also
listed as CPE 430)
Regular
languages and finite automata. Table-driven lexical analysis. Recognition of
reserved words. Symbol table construction. Parsing: top-down (LL) and bottom-up
(LR). Table-driven versus recursive descent parsing. Context-free languages and
pushdown automata. 3 lectures, 1 laboratory. Prerequisite: CSC 330 and CSC 445.
CSC
431 Programming Languages III (4) (Also
listed as CPE 431)
Intermediate
translation forms. Runtime representations. Generation of object code by
compilers. Local optimization: constant propagation, folding, common
subexpression removal. Global optimization, invariant code removal, operator
strength reduction. Register allocation. 3 lectures, 1 laboratory.
Prerequisite: CSC 430.
CSC
434 Compilers – Hardware/Software
Interface (4)
(Also listed as CPE 434)
Block
structured programming languages, their design and implementation via retargetable
compilers, with emphasis on code generation for a variety of contemporary
computer architectures. 3 lectures, 1 laboratory. Prerequisite: CSC 205 and
CSC/CPE 315.
CSC
435 Introduction to Object Oriented
Design Using Graphical User Interfaces (4) (Also listed as CPE 435)
Principles
of object-oriented design, with emphasis on use of these principles in the
design of graphical interfaces. Comparison and contrasting of two major
object-oriented languages and their corresponding GUI class libraries. Language-independent
object-oriented design methods, and application of these methods in the
construction of a GUI-based project. 3 lectures, 1 laboratory. Prerequisite:
CSC 103 or equivalent and CSC 305.
CSC
445 Theory of Computing (4)
Finite
state machines and regular languages. Pushdown automata and context-free
languages. Turing machines. Computation theory and computational complexity.
Proofs of classical theorems and the theory of computation. 4 lectures.
Prerequisite: CSC 103.
CSC
453 Introduction to Operating Systems
(4)
(Also listed as CPE 453)
Introduction
to sequential and multiprogramming operating systems; kernel calls, interrupt
service mechanisms, scheduling, files and protection mechanisms, conventional
machine attributes that apply to operating system implementation, virtual
memory management, and I/O control systems. Miscellaneous course fee may be
required-see Class Schedule. 3 lectures, 1 laboratory. Prerequisite: CSC/CPE
315.
CSC
454 Implementation of Operating Systems
(4)
(Also listed as CPE 454)
Design
and implementation of multiprogramming kernels, systems programming
methodology, interprocess communications, synchronization, device drivers and
network access methods. 3 lectures, 1 laboratory. Prerequisite: CSC 453.
CSC
459 Real-Time Systems (4) (Also listed
as CPE 459)
Analysis
and synthesis of robust real-time systems including imbedded systems, real-time
architectures, and programming, parallel processing, specification techniques,
algorithms for guaranteeing stringent timing constraints. Understanding of the
trade-offs between robustness and response times of time-critical systems. 3
lectures, 1 laboratory. Prerequisite: CSC 315.
CSC
464 Computer Networks I (4) (Also
listed as CPE 464)
Communications
architectures and distributed systems; multicomputer complexes and
interprocessor communications; communications media, message switching, and
communications protocol standards. 3 lectures, 1 laboratory. Prerequisite: CSC
141 and CSC 315.
CSC
465 Computer Networks II (4) (Also listed
as CPE 465)
Network
architectures and protocols; network performance analysis; the theory of error
detection and correction; other advanced topics such as routing, network
management, integrated services, satellite networks, fiber optics. 3 lectures,
1 laboratory. Prerequisite: CSC/CPE 464.
CSC
468 Database Management Systems
Implementation (4)
(Also listed as CPE 468)
Data
structures and algorithms used in the implementation of database systems.
Implementation of data and transaction managers: access methods interfaces,
concurrency control and recovery, query processors and optimizers. Introduction
to implementation of distributed database systems. 3 lectures, 1 laboratory.
Prerequisite: CSC 365.
CSC
471 Introduction to Computer Graphics
(4)
(Also listed as CPE 471)
Graphics
hardware and primitives. Modeling and rendering, geometric transforms,
hidden-surface removal, the graphics pipeline, scan-conversion and graphics
applications. Miscellaneous course fee may be required-see Class
Schedule. 3 lectures, 1 laboratory. Prerequisite: CSC 103 and CSC 141.
CSC
473 Advanced Rendering Techniques (4)
(Also listed as CPE 473)
Illumination
models, reflectance, absorption, emittance, Gouraud shading, Phong shading,
raytracing polyhedra and other modeling primitives, coherence, acceleration
methods, radiosity, form factors, advanced algorithms. 3 lectures, 1
laboratory. Prerequisite: CSC 471.
CSC
474 Computer Animation (4) (Also listed
as CPE 474)
Basic
and advanced algorithms for generating sequences of synthetic images.
Interpolation in time and space, procedural and keyframe animation, particle
systems, dynamics and inverse kinematics, morphing and video. Miscellaneous
course fee may be required-see Class Schedule. 3 lectures, 1 laboratory. Prerequisite: CSC 471.
CSC
475 Multimedia Tool Development (4)
(Also listed as CPE 475)
Algorithms
and techniques for creating multimedia applications. Topics include audio and
video compression techniques, multimedia network architectures, synchronization
of audio and video, multimedia toolkits, user interfaces and file systems. 3
lectures, 1 laboratory. Prerequisite: CSC 471.
CSC
476 Introduction to Virtual Environment
Systems (4)
Components
and design of virtual environment simulation systems. Human sensory perception
simulation. Modeling virtual worlds: objects, behaviors. Hardware: sensors,
displays, architectures. Software: design, low-level drivers, function library
toolkits, integrated applications. System integration: configuration,
calibration, testing. Survey of applications. 3 lectures, 1 laboratory.
Prerequisite: CSC 471.
CSC
477 Computer Vision (4) (Also listed as
CPE 477)
Fundamental
issues in computer vision. Convolution, edge detection and image segmentation.
Pattern classification methods and neural networks. Stereoscopic vision and
optical flow. 3 lectures, 1 laboratory. Prerequisite: CSC 103 and MATH 206.
CSC
479 Computer Graphics Seminar (2)
Current
topics in computer graphics. Total credit limited to 4 units. 2 seminars.
Prerequisite: CSC 471.
CSC
480 Artificial Intelligence (4) (Also
listed as CPE 480)
Programs
and techniques that characterize artificial intelligence. Programming in a high
level language. 3 lectures, 1 laboratory. Prerequisite: CSC 103 and CSC 141.
CSC
481 Knowledge Based Systems (4) (Also
listed as CPE 481)
In-depth
treatment of knowledge representation, utilization and acquisition in a
programming environment. Emphasis on the use of domain-specific knowledge to
obtain expert performance in programs. 3 lectures, 1 laboratory. Prerequisite:
CSC 480.
CSC
484 User-Centered Interface Design and
Development (4)
(Also listed as CPE 484)
Introduction
to the importance of user-centered principles in the design of good interfaces
and effective human-computer interaction. Topics include: study of human
characteristics affected by interface design, effective requirements data
collection and analysis, user-centered approaches to software engineering, and
evaluation of interface and interaction quality. 3 lectures, 1 laboratory. Prerequisite:
CSC 205.
CSC
486 Human–Computer Interaction Theory
and Design (4)
Application
of the theories of human-computer interaction to the task of user-centered
design. Survey of techniques for studying and involving users in different
aspects of the design process, and demonstration of where and when applicable.
Combining of theoretical understanding with practical experience to design
solutions to problems facing interactive systems designers. 4 seminars.
Prerequisite: CSC/CPE 484.
CSC
487 Graphical User Interface Systems
(4)
(Also listed as CPE 487)
Further
study of graphical user interface (GUI) programming systems. Structure of tools
and underlying systems to build such interfaces. Human factors including
considerations of good and bad interfaces. 3 lectures, 1 laboratory.
Prerequisite: CSC 435.
CSC
488 Performance Analysis (4) (Also
listed as CPE 488)
Statistical
and mathematical techniques for modeling and analyzing the performance of
computer and communication systems. Tools and techniques for measuring
performance of operational systems. Theory and methodologies for the design,
procurement and evaluation of systems. Introduction to elementary concepts of
discrete event simulation. 3 lectures, 1 laboratory. Prerequisite: STAT 321 or
consent of instructor.
CSC
490 Selected Advanced Topics (1–4)
Directed
group study of selected topics for advanced students. Open to undergraduate and
graduate students. Class schedule will list topic selected. Total credit
limited to 8 units. 1 to 4 lectures. Prerequisite: Consent of instructor.
CSC
491, 492 Senior Project (2) (3)
Selection
and completion of a project under faculty supervision. Projects typical of
problems which graduates must solve in their fields of employment. Project
results are presented in a formal report. Minimum 150 hours total time.
Prerequisite: CSC 206 and consent of instructor.
CSC
494 Cooperative Education Experience
(6) (CR/NC)
Part-time
work experience in business, industry, government, and other areas of student
career interest. Positions are paid and usually require relocation and
registration in course for two consecutive quarters. Formal report and
evaluation by work supervisor required. Credit/No Credit grading only.
Prerequisite: Sophomore standing and consent of instructor.
CSC
495 Cooperative Education Experience
(12) (CR/NC)
Full-time
work experience in business, industry, government, and other areas of student
career interest. Positions are paid and usually require relocation and
registration in course for two consecutive quarters. Formal report and
evaluation by work supervisor required. Credit/No Credit grading only.
Prerequisite: Sophomore standing and consent of instructor.
CSC
500 Directed Study (2–3) (CR/NC)
Individual
directed study of advanced topics. Total credit limited to 4 units. Credit/No
Credit grading only. Prerequisite: Fully classified graduate standing and
consent of instructor.
CSC
508 Software Engineering I (4)
In-depth
study of requirements engineering, software project management, formal
specifications and object-oriented analysis. 4 seminars. Prerequisite: CSC 205
and graduate standing, or consent of instructor.
CSC
509 Software Engineering II (4)
In-depth
study of software modeling and design. Formal design methodologies. Design patterns.
Detailed case studies of existing projects. Tools and methods for designing
large software systems. 4 seminars. Prerequisite: CSC 508 and graduate
standing, or consent of instructor.
CSC
520 Computer Architecture (4) (Also
listed as CPE 520)
Comparative
study and design of multiprocessor, dataflow, RISC, high level language and
other new computer architectures. VLSI processor design techniques. 3 seminars,
1 laboratory. Prerequisite: CSC/CPE 315 and graduate standing, or consent of
instructor.
CSC
530 Languages and Translators (4)
Advanced
programming language and translator concepts. Language concepts to be covered
will be selected from current state-of-the-art languages and current issues in
language design. Compiler concepts will include retargetable code generation,
use of translator-writing systems, and error recovery. 4 seminars.
Prerequisite: CSC 430 and graduate standing, or consent of instructor.
CSC
540 Theory of Computing (4)
Advanced
topics in theoretical computer science from such areas as automata theory,
cellular automata theory, computational complexity, and program verification. 4
seminars. Prerequisite: CSC 445 and graduate standing, or consent of
instructor.
CSC
541 Numerical Methods (4)
Introduction
to advanced methods used in numerical analysis. Finite element methods for one
and two-dimensional problems. Study of transforms including the Fast Fourier
Transform and the Fast Hartley Transform. Review of the software supporting
these methods. 4 seminars. Prerequisite: CSC 342 and graduate standing, or
consent of instructor.
CSC
550 Operating Systems (4)
General
concepts of computer architecture and operating systems. Design features of
advanced computers, general time-sharing systems and schemes for dynamic memory
allocation, scheduling and protection. Dynamic linkage between subroutines.
Intercommunication between input/output and processors. 4 seminars.
Prerequisite: CSC 453 and graduate standing, or consent of instructor.
CSC
560 Database Systems (4)
Current
topics in database systems: distributed databases and transactions, nested and
long-running transactions, distributed concurrency control, semantic and
object-oriented data models, database systems for non-traditional applications:
engineering design databases, active, logic, temporal, multi-media, and
real-time databases. 4 seminars. Prerequisite: CSC 468 and graduate standing,
or consent of instructor.
CSC
569 Distributed Computing (4)
Exploration
of distributed systems as a computing paradigm, the client-server model, socket
API, remote procedure calls, object-based technology, distributed algorithms,
interprocess communication (messages and broadcast), distributed computing
environment, data replication, and fault tolerance. Emphasis on distributed
software above the operating system layer. 3 lectures, 1 laboratory.
Prerequisite: CSC 103 and graduate standing, or consent of instructor.
CSC
570 Current Topics in Computer Science
(2–4)
Directed
group study of selected topics for graduate students. Topics will normally
consist of continuations of those in CSC 501–CSC 506 and other topics as
needed. Class Schedule will list
topic selected. Topic credit limited to 12 units. 2 to 4 seminars.
Prerequisite: Graduate standing and evidence of satisfactory preparation in
computer science.
CSC
580 Artificial Intelligence (4) (Also
listed as CPE 580)
Current
research in the field of artificial intelligence with emphasis on cooperative
agents, distributed agents, and decision making in complex, concurrent
environments. AI programming in a distributed environment. 3 lectures, 1
laboratory. Prerequisite: CSC 481 and graduate standing, or consent of
instructor.
CSC
583 Computer-Based Educational Systems
(3)
Comparison
of several authoring languages and systems as they affect the design of
multi-media computer-based educational systems. Emphasis on features for
special purposes such as education of the handicapped. 3 seminars.
Prerequisite: Graduate standing, or consent of instructor.
CSC
587 Computer Simulation I (4)
Principles
and organization of simulation software. Executive programs for interactive
control of continuous, discrete and combined system simulations. Specification,
design and development of simulation support packages. Structure and techniques
for development of real-time, queue management, graphics interface, and
validation components of simulation systems. 4 seminars. Prerequisite: STAT 211
or STAT 321; graduate standing or consent of instructor.
CSC
588 Computer Simulation II (4)
Advanced
topics in simulation. Simulation languages and systems, distributed simulation,
training systems. Management of simulation projects. Verification and
validation methodologies. 3 seminars, 1 laboratory. Prerequisite: CSC 587,
graduate standing or consent of instructor.
CSC
590 Seminar in Computer Science (3)
Current
problems and research in the field of computer science through discussions and
selected readings. Group study of selected advanced topics. 3 seminars.
Prerequisite: Graduate standing or consent of instructor.
CSC
594 Cooperative Education Experience
(6) (CR/NC)
Advanced
study analysis and part-time work experience in student's career field; current
innovations, practices, and problems in administration, supervision, and
organization of business, industry, and government. Must have demonstrated
ability to do independent work and research in career field. Credit/No Credit
grading only. Prerequisite: Graduate standing and consent of instructor.
CSC
595 Cooperative Education Experience
(12) (CR/NC)
Advanced
study analysis and full-time work experience in student's career field; current
innovations, practices, and problems in administration, supervision, and
organization of business, industry, and government. Must have demonstrated
ability to do independent work and research in career field. Credit/No Credit
grading only. Prerequisite: Graduate standing and consent of instructor.
CSC
599 Thesis/Project (2–3) (2–3)
Individual
research or activity under faculty supervision leading to an acceptable thesis
or project. Prerequisite: Graduate standing and consent of instructor.