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.