Computer Science & Engineering (CSE)

Courses

CSE 122. Bioinformatics. 2 Units.

(GE=B4)
Introduction to natural sciences and its interplay with computer science. Description of bioinformatics and the application of computer science and problems in the life sciences.

CSE 125. Programming in Visual Basic. 4 Units.

Programming techniques in an event-driven and object-oriented environment. Graphical user interfaces, controls, properties, procedures, and functions. Multiple forms, menus, file access, and applications. Three hours lecture and two hours activity laboratory. Materials fee required.

CSE 129. Science, Computing and Society. 2 Units.

(GE=B4)
Understanding physical science in terms of information and information processing. Use of computer as both a tool and metaphor for understanding life, physics, and existence, and its implications and impact on society and ethics.

CSE 140. Introduction to Game Design. 2 Units.

Elements of games, including theme, game play and presentation. The process by which game concepts are transformed into actual computer games, including the use of scripting languages to incorporate sound and graphics into a game, design documents, project management, evaluation, game play parameters and artificial intelligence. Several examples will be used to demonstrate game design concepts and practice. One hour lecture and two hours laboratory. Material fee required.

CSE 141. Introduction to Game Level Editing. 2 Units.

Basic concepts on level editing of games and how a game is fine-tuned and balanced to improve gameplay and fun. Use of a level editor to demonstrate application of physics and artificial intelligence is included. One hour lecture and two hours laboratory. Materials fee required.

CSE 201. Computer Science I. 4 Units.

Prerequisites: satisfactory score on the Entry Level Mathematics examination, and either some prior computer programming experience, or CSE 125
Computer software design, implementation, methods and environments using a current high-level language. Survey of computers, applications and other areas of computer science. Three hours lecture and two hours activity laboratory. Materials fee required.

CSE 202. Computer Science II. 4 Units.

Prerequisites: CSE 201 with a grade of C or better and satisfactory score on the Entry Level Mathematics examination
Analysis of problems and the formulation, documentation and implementation of their solutions; an introduction to data structures with abstract data types; software engineering principles for both individual and group projects. Three hours lecture and two hours activity laboratory. Materials fee required.

CSE 208. Introduction to Computer Engineering Design. 2 Units.

Prerequisites: Consent of Instructor
(GE=B4)
Introduction to the principles in engineering design and design issues of sustainability, environmental impact, human interface, accessibility and inclusive of a product, and effectiveness of the technique. One hour lecture and three hours laboratory. Materials fee required. Formerly CSE 406, CSE 152 and PHYS 152.

CSE 292. JAVA Programming. 4 Units.

Prerequisites: prior course in computer programming
Study of object oriented programming and techniques using JAVA programming language.

CSE 303. Computer Engineering Design. 1 Unit.

Prerequisites: CSE 208
Guided engineering design activity on an ongoing real world problem. Three hours activity. Must be repeated for a total of seven units.

CSE 308. Computer Engineering Design. 4 Units.

Prerequisites: CSE 208
Guided engineering design activity on an ongoing real world problem. Three hours lecture and three hours laboratory. Formerly CSE 407 and CSE 303.

CSE 310. Digital Logic. 5 Units.

Prerequisites: CSE 202 and MATH 272
Boolean algebra, flip-flops, combinational and sequential circuits, arithmetic-logic units, memory devices, and I/O peripherals. Laboratory experiments include bread-board assembly of finite state machine circuits, registers and arithmetic-logic processors. Four hours lecture and three hours laboratory. Materials fee required.

CSE 311. Advanced Digital Design. 4 Units.

Prerequisites: CSE 310
Transistor circuits, MOS and CMOS characteristics, design of logic families, CPLDs and FPGAs, timing, propagation, hazards, bistability and metastability, ASM charts, skew, reliability and testing, and transmission line behavior. Materials fee required. Three hours discussion and three hours laboratory.

CSE 313. Machine Organization. 4 Units.

Prerequisites: CSE 202
Typical components of von Neumann computer architectures; their organization, interrelated activities and control are emphasized and demonstrated using low-level languages. Three hours lecture and two hours activity laboratory. Materials fee required.

CSE 320. Programming Languages. 4 Units.

Prerequisites: CSE 202
Topics include formal language specification, data types and their implementation, abstract mechanisms, control structures, run-time representations and storage management. Several high-level languages will be examined. Three hours lecture and two hours activity laboratory. Materials fee required.

CSE 322. Web Page Programming. 4 Units.

Prerequisites: CSE 202 or consent of instructor
Current protocols, technology, languages, and methodologies for the browser side of web-based systems; performance issues; human factors, page and site design. Three hours lecture and two hours activity laboratory. Materials fee required.

CSE 330. Data Structures. 4 Units.

Prerequisites: CSE 202 with grade of C or better and MATH 272 or MATH 372
Abstract data structures including lists, stacks, queues and trees; their storage allocation and associated application algorithms. Three hours lecture and two hours activity laboratory. Materials fee required.

CSE 335. Signals and Systems. 4 Units.

Prerequisites: MATH 213 and MATH 331
Fundamentals of signal and system analysis, including representations of discrete-time and continuous-time signals and representations of linear, time-invariant systems. Topics include complex exponentials and geometrics, differential equations, Fourier representation, Laplace and Z transforms, frequency responses, etc.

CSE 360. Script Programming. 4 Units.

Prerequisites: CSE 201
Getting started; terminal types; e-mail; command line and GUI interfaces; advanced editing; macros; text processing and programmers tools. Two hours lecture and four hours activity laboratory. Materials fee required.

CSE 365. Systems Administration. 4 Units.

Prerequisites: CSE 201
Responsibilities and skills of the system administrator; managing accounts, system files and mail; security, reliability and backups; emergencies; ethics and usability. Three hours lecture and two hours activity laboratory. Materials fee required.

CSE 366. Systems Networking. 4 Units.

Prerequisites: CSE 365
Planning and configuring networks; file transfer; network file servers; bridges and routers. Three hours lecture and two hours activity laboratory. Materials fee required.

CSE 401. Contemporary Computer Architecture. 5 Units.

Prerequisites: CSE 310 and CSE 313
Design methodology; processor units and control units of von Neumann computer architectures; RISC architectures, including pipelining and parallel-processing. Laboratory experiments consist of the use of computer-aided design tools for VLSI layout and simulation. Four hours lecture and three hours laboratory. Materials fee required.

CSE 403. Circuit Design and Analysis. 4 Units.

Prerequisites: CSE 310, MATH 251, and PHYS 150
Analysis and design of digital and analog circuits, active and passive elements, diodes, FET and BJT transistor circuits, introduction to VLSI, two port networks, transmission lines, three phase circuits, filtering circuits in continuous and discrete time, Laplace and Z transform analysis and design, spectrum and power characterization of signals and systems. Two hours lecture and three hours activity laboratory. Materials fee required.

CSE 405. Server Programming. 4 Units.

Prerequisites: CSE 322
Current operating system technology; languages and methodologies of controlling servers; performance analysis; interfaces to databases; security, monitoring, and maintainability. Three hours lecture and two hours activity laboratory. Materials fee required.

CSE 408. Sustainable Engineering Design. 4 Units.

Prerequisites: CSE 308
(GE=B5)
Guided engineering design project on an ongoing real world problem. Examines issues of sustainability, energy, pollution, ethics, accessibility and effects of products on various stakeholders, analysis of designs and failure modes, as well as technical report writing and presentations. Three hours lecture and three hours laboratory. Materials fee required.

CSE 420. Computer Graphics. 4 Units.

Prerequisites: CSE 330 and MATH 331
Survey of computer graphics hardware. Topics include animation, two-dimensional and three-dimensional transformation, hidden surface removal algorithm, business charts and applications.

CSE 431. Algorithm Analysis. 4 Units.

Prerequisites: CSE 330 and MATH 372
Analysis and design of algorithms, including time and space complexity, design methodologies, and taxonomic classification of problems. Formerly CSCI 331.

CSE 440. Game Design. 4 Units.

Prerequisites: CSE 330
Study of game design concepts and game design specification. Topics include principles of user interface layout, game design techniques, game design methodologies, artificial intelligence in gaming, and game design tools.

CSE 441. Game Programming. 4 Units.

Prerequisites: CSE 330
Techniques and technology used to produce games. Topics include game engine design, mathematical foundations of game programming, game physics, artificial intelligence, and application of software engineering principles to a game development environment. Three hours lecture and two hours activity laboratory. Materials fee required.

CSE 455. Software Engineering. 4 Units.

Prerequisites: CSE 330
Advanced techniques and technology used to produce large software systems. Laboratory work with a software development environment. Three hours lecture and three hours laboratory. Materials fee required.

CSE 456. Embedded Systems. 4 Units.

Prerequisites: CSE 310 and CSE 313
Theory and practice of software and hardware co-design, including microcontrollers, embedded programs, real-time operating systems, and low-resources system design. Three Hours lecture and two hours activity laboratory. Materials fee required.

CSE 460. Operating Systems. 4 Units.

Prerequisites: CSE 313 and CSE 330
An overview of operating systems. Principles of resource management and control. Multiprogramming, distributed systems and multiprocessor systems will be included. Three hours lecture and two hours activity laboratory. Materials fee required.

CSE 461. Advanced Operating Systems. 4 Units.

Prerequisites: CSE 460
File systems, I/O systems. security distributed systems. Three hours lecture and two hours activity laboratory. Materials fee required. Formerly CSE 350, students may not receive credit for both.

CSE 482. Senior Interdisciplinary Project. 4 Units.

Prerequisites: consent of the department
Analysis, design and implementation of a software system that solves an interdisciplinary problem related to the student's chosen program option or minor field of study. Presentation techniques and communication skills to support project planning and execution.

CSE 488. Ethics and the Computing Professional. 2 Units.

Prerequisites: senior standing
Professionalism, ethics, legal issues and the social impact and role of computer technology.

CSE 489. Senior Seminar. 2 Units.

Prerequisites: completion of all required 300-level computer science courses for the B.S. in Computer Science degree
A series of weekly seminars covering a wide range of computer science topics and formats including presentations from industry and university personnel, and students regarding projects and research work. Graded credit/no credit.

CSE 500. Introduction to Formal Languages and Automata. 4 Units.

Prerequisites: CSE 431 or consent of instructor
Introduction to formal language theory. Finite state machines, regular grammars, context-free grammars, context-sensitive grammars, push-down automata, closure properties.

CSE 501. Introduction to Theory of Computation. 4 Units.

Prerequisites: CSE 500 or consent of instructor
Theoretical foundations of computer science: deterministic and non-deterministic Turing machines, models of computation; recursive functions, Church's thesis and undecidable problems; complexity classes P, NP, CO-NP and PSPACE. Formerly CSCI 546.

CSE 510. Advanced Computer Architecture. 4 Units.

Prerequisites: CSE 401
High performance computer architectures and algorithms including pipeline, vector, array, multiprocessor computer designs, applications, and programming. Also covered are data flow and systolic machines, interconnection networks, and graph and parallel graph algorithms. Three hours lecture and two hours laboratory. Materials fee required.

CSE 511. Expert Systems. 4 Units.

Prerequisites: CSE 330
Expert systems components, problems and applications. Knowledge bases, inference engines, and their integration within expert systems. Tools for building expert systems, system algorithms as related to hardware, implementation languages and examples of systems in operation. (4 units.

CSE 512. Introduction to Artificial Intelligence. 4 Units.

Prerequisites: CSE 330
Problems and issues of artificial intelligence, current techniques and methods, and future prospects of machine intelligence. Three hours lecture and two hours activity laboratory Materials fee required.

CSE 513. Advanced Artificial Intelligence. 4 Units.

Prerequisites: CSE 512 or consent of instructor
Advanced issues and techniques in artificial intelligence; intelligent agents for problem solving, reasoning and learning; advanced artificial intelligence programming in LISP. Three hours lecture and two hours activity laboratory. Materials fee required.

CSE 514. Computational Intelligence. 4 Units.

Prerequisites: MATH 211 AND CSE 330
Recent developments in computational intelligence, a discipline which encompasses ideas from neural networks, fuzzy logic, evolutionary computation and in general from soft-computing areas. Solving real-world problems that are difficult to solve using traditional techniques. Includes optimization, pattern recognition, learning, decision making and prediction. Formerly offered as a topic under CSE 594.

CSE 515. Automated Reasoning. 4 Units.

Prerequisites: CSE 431
Study of deduction algorithms for expert systems and the limitations thereof, propositional calculus, quantification theory, completeness and incompleteness theorems, Herbrand-Gödel computability, resolution principle, equality and inequality relations.

CSE 516. Machine Learning. 4 Units.

Prerequisites: CSE 330
Theory and practice of machine learning techniques, including supervised learning, unsupervised learning, reinforcement learning, and learning in multi-agent systems. Three hours lecture and two hours activity laboratory. Formerly a topic under CSE 594, students may not receive credit for both CSE 516 and CSE 594 for those terms in which Machine Learning was the topic. Materials fee required.

CSE 520. Advanced Computer Graphics. 4 Units.

Prerequisites: CSE 420
Advanced computer graphics concepts, theory and implementation techniques. Topics include shading models, parametric curves and surfaces, hidden edge and surface removal, and anti-aliasing.

CSE 521. Field Programmable Gate Array Design. 4 Units.

Prerequisites: CSE 401
FPGA design rules, timing, latency, optimzations, ASIC conversion, state machines, implementing arithmetic, counters, memory, error detection and correction, simulation, and layout. Materials fee required. Three hours lecture and three hours laboratory.

CSE 524. Supercomputing and Visualization. 4 Units.

Prerequisites: CSE 330 or consent of instructor
Design and implementation of scientific applications on high performance computers emphasizing graphics and visualization techniques. Topics include parallel algorithm development, multiprocessor and multicomputer programming, and real-time visualization programming of computationally intensive problems in the sciences.

CSE 525. Parallel Algorithms and Programming. 4 Units.

Prerequisites: CSE 401
Topics include algorithm design, analysis, and programming of high performance computers. Also covered are control-parallel versus data-parallel approaches, PRAM algorithm design, and selected parallel programming languages. Four hours lecture.

CSE 530. Data Communications and Networks. 4 Units.

Prerequisites: CSE 313 or 598, and 330
Topics include baseband and broadband signals and modulation schemes. Error detecting and correcting codes, ISO protocol standard, packet switching and various local network schemes. Three hours lecture and two hours activity laboratory. Materials fee required. Formerly CSE 430.

CSE 531. High Performance Networks. 4 Units.

Prerequisites: CSE 530 or consent of instructor
High performance network methodologies. Methods to develop network performance measures and models. Introduction to path cost estimation and service reliability issues. Three hours lecture and two hours laboratory. Materials fee required.

CSE 535. Numerical Computation. 4 Units.

Prerequisites: MATH 331
Introduction to scientific computing. Algorithms related to approximations, zero findings, numerical differentiation and integration, data fitting and interpolation, nonlinear equations. Three hours lecture and two hours laboratory. Materials fee required.

CSE 541. Robotics and Control. 4 Units.

Prerequisites: CSE 310 and CSE 313
Theory and practice of robotic modeling, control, programming, and construction. Three hours lecture and three hours laboratory. Materials fee required.

CSE 550. Advanced Bioinformatics I: Sequence Analysis. 4 Units.

Prerequisites: CSE 431 and senior standing or consent of instructor
Pairwise and multiple sequence alignment of strings and relations to biology. Building phylogenetic trees from sequences. Predicting and analyzing RNA secondary structure. Three hours discussion and two hours activity.

CSE 551. Advanced Bioinformatics II: Numerical Modeling. 4 Units.

Prerequisites: CSE 535
Numerical techniques for the modeling and simulation of biological and chemical systems using ordinary and partial differential equations, and stochastic variables. Three hours discussion and two hours activity.

CSE 555. Software Design and Architecture. 4 Units.

Prerequisites: CSE 330
Common patterns of architechural design, tradeoff analysis at the architectural level, domain-specific architectures, automatic support for architecural design, and formal methods of software architeciture. Three hours lecture and two hours laboratory.

CSE 557. Computer Systems in Organizations. 4 Units.

Prerequisites: CSE 330, MATH 262, or consent of instructor
General system and information theory. Modeling organizations, activities, hardware, data, and software using current techniques with emphasis on human-computer interaction, systems engineering and project planning. Students will study parts of actual organizations. Formerly CSE 372.

CSE 558. Requirements Analysis and Design. 4 Units.

Prerequisites: CSE 330 or consent of instructor
Requirements analysis, including organizational objectives, functions, use cases, and domain models. The use of objects, patterns, objects and layers in architectural design specifications. Includes analysis, design and implementation of a software system using an agile software process. Three hours lecture and two hours activity laboratory. Materials fee required. Formerly CSE 375.

CSE 565. Systems Programming. 4 Units.

Prerequisites: CSE 460
Concepts of, and implementation techniques for systems software such as assemblers, editors, interpreters, linkers, loaders and operating systems. Formerly CSE 465.

CSE 570. Compliers. 4 Units.

Prerequisites: CSE 313 and CSE 330
Interpreter and compiler structures. Topics include symbol tables, lexical and syntactic analyzers, and object code generation. Three hours lecture and two hours activity laboratory. Materials fee required. Formerly CSCI 470.

CSE 572. Database Systems. 4 Units.

Prerequisites: CSE 330
Basic concepts of database design and theory, including underlying storage structures and alternative approaches to database models (relational, object-relational, network and hierarchical). Hands-on applications with one or more commercial database management systems. Three hours lecture and two hours activity laboratory. Materials fee required.

CSE 575. Internship in Computer Science. 4 Units.

Prerequisites: a minimum grade point average of 3.0 and departmental approval of a written proposal submitted on a standard application filed in advance of the quarter in which the course is to be taken
Supervised work and study in private or public organizations. Graded credit/no credit.

CSE 580. Advanced Database Systems. 4 Units.

Prerequisites: CSE 572
Advanced study of components of general database systems and other topics such as implementation methods, query language design, reliability, integrity, performance measures, distributed database systems and database machines. Three hours lecture and two hours activity laboratory. Materials fee required.

CSE 594. Topics in Computer Science. 4 Units.

Prerequisites: CSE 330 or consent of instructor
An in-depth consideration of selected areas of computer science. May be repeated for credit as topics change. Formerly CSCI 494, credit may not be received twice for the same topic.

CSE 595A. Independent Study. 1 Unit.

Prerequisites: a minimum overall grade point average of 3.0, consent of instructor and departmental approval of a written proposal of a project submitted on a standard application filed in advance of the quarter in which the course is to be taken
Laboratory and/or library research conducted under the direction of a faculty member. A total of four units in CSE 595 may be applied toward the computer science, computer systems, computer engineering, and bioinformatics majors.

CSE 595B. Independent Study. 2 Units.

Prerequisites: a minimum overall grade point average of 3.0, consent of instructor and departmental approval of a written proposal of a project submitted on a standard application filed in advance of the quarter in which the course is to be taken
Laboratory and/or library research conducted under the direction of a faculty member. A total of four units in CSE 595 may be applied toward the computer science, computer systems, computer engineering, and bioinformatics majors.

CSE 595C. Independent Study. 3 Units.

Prerequisites: a minimum overall grade point average of 3.0, consent of instructor and departmental approval of a written proposal of a project submitted on a standard application filed in advance of the quarter in which the course is to be taken
Laboratory and/or library research conducted under the direction of a faculty member. A total of four units in CSE 595 may be applied toward the computer science, computer systems, computer engineering, and bioinformatics majors.

CSE 595D. Independent Study. 4 Units.

Prerequisites: a minimum overall grade point average of 3.0, consent of instructor and departmental approval of a written proposal of a project submitted on a standard application filed in advance of the quarter in which the course is to be taken
Laboratory and/or library research conducted under the direction of a faculty member. A total of four units in CSE 595 may be applied toward the computer science, computer systems, computer engineering, and bioinformatics majors.

CSE 602. Computation and Complexity Theory. 4 Units.

Prerequisites: CSE 500 or consent of instructor
Theoretical foundations of computer science: deterministic and non-deterministic Turing machines, models of computation; recursive functions, Church's thesis and undecidable problems; complexity classes P, NP, CO-NP and PSPACE. May not be taken for credit by students who have received credit for CSE 501, CSE 546, CSE 646. Formerly CSE 600.

CSE 603. Advanced Computation and Complexity Theory. 4 Units.

Prerequisites: CSE 602 or consent of instructor
Advanced topics in theoretical foundations of computer science: models of computation; recursive functions; Church's thesis and undecidable problems; complexity classes P, NP, CO-NP and PSPACE. Formerly CSCI 601 and 646.

CSE 610. Modern Computer Architecture. 4 Units.

Prerequisites: CSE 401 or consent of instructor
Study of the elements and construction of advanced computer systems, including parallel systems, vector processors, network scheduling, pipelining, array processors, and systolic arrays. May not be taken for credit by students who have received credit for CSE 510. Three hours lecture and two hours laboratory. Materials fee required.

CSE 611. VLSI Circuit Design. 4 Units.

Prerequisites: graduate standing in computer science or consent of instructor
Fundamental design techniques for Very Large Scale Integrated (VLSI) circuits; physics of semi-conductor devices; design rules and circuit layouts; use of computer-aided design tools for design, layout and testing. Three hours lecture and two hours laboratory. Materials fee required.

CSE 620. Programming Languages Theory. 4 Units.

Prerequisites: graduate standing in computer science or consent of instructor
Theory of programming languages, including implementation details, the required machine and data structures needed for user interfaces, coded parallelism, distributed processing facilities, functional and object oriented programming languages. Three hours lecture and two hours laboratory. Materials fee required.

CSE 621. Contemporary Computer Graphics. 4 Units.

Prerequisites: graduate standing in computer science or consent of instructor
Theory and practice of modern graphics techniques. Topics include 3-D modeling, interaction, ray tracing, object representation, visualization, and animation techniques.

CSE 624. Distributed Computer Systems. 4 Units.

Prerequisites: graduate standing in computer science or consent of instructor
Open Systems Interconnection (OSI) transport, presentation and application layers; distributed control; access methods; reliability; heterogeneity; resilience; applications in network operating systems, distributed operating systems and distributed database systems.

CSE 625. Multiprocessor and Parallel Processing. 4 Units.

Prerequisites: graduate standing in computer science or consent of instructor
Tightly and loosely coupled multiprocessors; interconnection network; parallel programming languages; scheduling; problem decomposition; operating systems; performance; synchronization and communication; user-interface and programming environment; multiprocessor machine programming. May not be taken for credit by students who have received credit for CSE 525.

CSE 630. Theory of Algorithms and Their Analysis. 4 Units.

Prerequisites: CSE 431 or consent of instructor
Algorithmic techniques, construction, time and space complexities, properties of taxonomic classes; survey of processing algorithms for graphs, trees, sets, and sequences; algebraic, numeric and geometric analysis techniques; dynamic programming, randomized algorithms, parallel algorithms; NP.

CSE 631. Advanced Data Communications. 4 Units.

Prerequisites: CSE 530 or consent of instructor
Topics include high bandwidth networks, formal models of network performance, traffic and congestion control, formal routing theory, quality of service, and internet protocol suite adaptations to high bandwidth networks. May not be taken for credit by students who have received credit for CSE 531. Three hours lecture and two hours laboratory. Materials fee required.

CSE 634. Neural Networks. 4 Units.

Prerequisites: graduate standing in computer science or consent of instructor
Theory and applications of neural networks; current developments; perceptrons; Hopfield networks; self-organizing mappings and content-addressable memories; multi-layer networks.

CSE 635. Numerical Algorithms and Simulation. 4 Units.

Prerequisites: CSE 535 or equivalent
Scientific computing and simulation. Systems of liner equations, linear least squares, backward error analysis and numerical stability, stiff equations, simulation, sparse matrices. Three hours lecture and two hours laboratory. Materials fee required.

CSE 640. Artificial Intelligence. 4 Units.

Prerequisites: graduate standing in computer science or consent of instructor
Knowledge representations; heuristics; theory of problem solving; adaptive systems; natural language understanding; automatic theorem proving; learning and robotics systems. Three hours lecture and two hours laboratory.

CSE 655. Software Engineering Concepts. 4 Units.

Prerequisites: CSE 455, 555, or 556 or consent of instructor
Analyses of software requirements definitions, software systems design, implementation issues, verification and validation, and software maintenance techniques; rapid prototyping procedures; operational and transformational paradigms of software development; software engineering models and CASE tools including reverse engineering and module reusability concepts; applications in object-oriented programming languages. Three hours lecture and three hours laboratory. Materials fee required.

CSE 656. Formal Methods, Models and Languages. 4 Units.

Prerequisites: classified status
Applications of logic and mathematics in documenting problems, requirements, specifications, designs, and software. Formal modeling languages. Diagrammatic, algebraic, and tabular models. Model checking. Students prepare, check, and present models using techniques in the literature for a research paper. Students may not receive credit for both CSE 556 and 656. Three hours lecture and two hours activity laboratory. Materials fee required.

CSE 660. Operating Systems Concepts and Theory. 4 Units.

Prerequisites: CSE 460 or consent of instructor
Operating system concepts and scheduling practices, including security, real time, multiprocessing, resource sharing, distributed file systems and peripherals access scheduling; distributed processing environments and parallel processing facilities. Three hours lecture and two hours laboratory. Materials fee required.

CSE 670. Compiler Design Theory. 4 Units.

Prerequisites: graduate standing in computer science or consent of instructor
Compiler design for block structures, general purpose programming languages; automatic generation of lexical analyzers and parsers; error detection and correction; code optimization. Three hours lecture and two hours laboratory. Materials fee required.

CSE 671. Advanced Compilers. 4 Units.

Prerequisites: graduate standing in computer science or consent of instructor. An introductory course in compilers is recommended
Intermediate code generation, optimization, object code generation and architecture and optimized compiler co-design.

CSE 680. Distributed Database Management Systems. 4 Units.

Prerequisites: graduate standing in computer science or consent of instructor
Distributed database issues including methods of data distribution, types of remote database access, concurrency management, extensions to Structured Query Language (SQL) for remote databases, cooperative processing, database machines and intelligent databases. May not be taken for credit by students who have received credit for CSE 580. Three hours lecture and two hours activity laboratory. Materials fee required.

CSE 689. Comprehensive Examination. 1 Unit.

Prerequisites: CSE 600, CSE 610, CSE 630, CSE 655, CSE 660 and consent of graduate coordinator
Unsupervised study in preparation of the comprehensive examination. Topics include the material covered in the core courses: formal language and automata theory, computer architecture, algorithms, software engineering, and operating systems. May be repeated only once. Graded credit/no credit.

CSE 690B. Masters Project. 2 Units.

Prerequisites: advancement to candidacy and consent of department major advisor
Independent graduate project conducted under the guidance of a major advisor; total of at least five units of CSE 690 must be taken in contiguous quarters.

CSE 690C. Masters Project. 3 Units.

Prerequisites: advancement to candidacy and consent of department major advisor
Independent graduate project conducted under the guidance of a major advisor; total of at least five units of CSE 690 must be taken in contiguous quarters.

CSE 690D. Masters Project. 4 Units.

Prerequisites: advancement to candidacy and consent of department major advisor
Independent graduate project conducted under the guidance of a major advisor; total of at least five units of CSE 690 must be taken in contiguous quarters.

CSE 690E. Masters Project. 5 Units.

Prerequisites: advancement to candidacy and consent of department major advisor
Independent graduate project conducted under the guidance of a major advisor; total of at least five units of CSE 690 must be taken in contiguous quarters.

CSE 695B. Graduate Independent Study. 2 Units.

Prerequisites: graduate standing in computer science, consent of instructor, and approval of a written proposal of the research by the department graduate program coordinator
Independent graduate research in computer science. A total of four units in this course may be applied toward the M.S. degree.

CSE 695C. Graduate Independent Study. 3 Units.

Prerequisites: graduate standing in computer science, consent of instructor, and approval of a written proposal of the research by the department graduate program coordinator
Independent graduate research in computer science. A total of four units in this course may be applied toward the M.S. degree.

CSE 695D. Graduate Independent Study. 4 Units.

Prerequisites: graduate standing in computer science, consent of instructor, and approval of a written proposal of the research by the department graduate program coordinator
Independent graduate research in computer science. A total of four units in this course may be applied toward the M.S. degree.

CSE 698A. Continuous Enrollment for Graduate Candidacy Standing. 1 Unit.

Prerequisites: advancement to candidacy and approval of program graduate coordinator or, if an interdisciplinary studies major, consent of the Dean of Graduate Studies
Independent study leading to completion of requirements (other than course work) for the master's degree. To retain classified standing in the master's program, a student must enroll in 698 each quarter until the project or thesis is accepted or the comprehensive examination passed. Students who enroll in 698 through the university have full use of all university facilities. See Culminating Experience: Exam, Thesis, or Project in Graduate Degree and Program Requirements section of the Bulletin of Courses. 698 is a variable unit course, see fee schedule in the Financial Information section of the Bulletin of Courses. Earned units are not degree-applicable nor will they qualify for financial aid.

CSE 698B. Continuous Enrollment for Graduate Candidacy Standing. 2 Units.

Prerequisites: advancement to candidacy and approval of program graduate coordinator or, if an interdisciplinary studies major, consent of the Dean of Graduate Studies
Independent study leading to completion of requirements (other than course work) for the master's degree. To retain classified standing in the master's program, a student must enroll in 698 each quarter until the project or thesis is accepted or the comprehensive examination passed. Students who enroll in 698 through the university have full use of all university facilities. See Culminating Experience: Exam, Thesis, or Project in Graduate Degree and Program Requirements section of the Bulletin of Courses. 698 is a variable unit course, see fee schedule in the Financial Information section of the Bulletin of Courses. Earned units are not degree-applicable nor will they qualify for financial aid.

CSE 698C. Continuous Enrollment for Graduate Candidacy Standing. 3 Units.

Prerequisites: advancement to candidacy and approval of program graduate coordinator or, if an interdisciplinary studies major, consent of the Dean of Graduate Studies
Independent study leading to completion of requirements (other than course work) for the master's degree. To retain classified standing in the master's program, a student must enroll in 698 each quarter until the project or thesis is accepted or the comprehensive examination passed. Students who enroll in 698 through the university have full use of all university facilities. See Culminating Experience: Exam, Thesis, or Project in Graduate Degree and Program Requirements section of the Bulletin of Courses. 698 is a variable unit course, see fee schedule in the Financial Information section of the Bulletin of Courses. Earned units are not degree-applicable nor will they qualify for financial aid.

CSE 698D. Continuous Enrollment for Graduate Candidacy Standing. 4 Units.

Prerequisites: advancement to candidacy and approval of program graduate coordinator or, if an interdisciplinary studies major, consent of the Dean of Graduate Studies
Independent study leading to completion of requirements (other than course work) for the master's degree. To retain classified standing in the master's program, a student must enroll in 698 each quarter until the project or thesis is accepted or the comprehensive examination passed. Students who enroll in 698 through the university have full use of all university facilities. See Culminating Experience: Exam, Thesis, or Project in Graduate Degree and Program Requirements section of the Bulletin of Courses. 698 is a variable unit course, see fee schedule in the Financial Information section of the Bulletin of Courses. Earned units are not degree-applicable nor will they qualify for financial aid.

CSE 698E. Continuous Enrollment for Graduate Candidacy Standing. 5 Units.

Prerequisites: advancement to candidacy and approval of program graduate coordinator or, if an interdisciplinary studies major, consent of the Dean of Graduate Studies
Independent study leading to completion of requirements (other than course work) for the master's degree. To retain classified standing in the master's program, a student must enroll in 698 each quarter until the project or thesis is accepted or the comprehensive examination passed. Students who enroll in 698 through the university have full use of all university facilities. See Culminating Experience: Exam, Thesis, or Project in Graduate Degree and Program Requirements section of the Bulletin of Courses. 698 is a variable unit course, see fee schedule in the Financial Information section of the Bulletin of Courses. Earned units are not degree-applicable nor will they qualify for financial aid.

CSE 698F. Continuous Enrollment for Graduate Candidacy Standing. 6 Units.

Prerequisites: advancement to candidacy and approval of program graduate coordinator or, if an interdisciplinary studies major, consent of the Dean of Graduate Studies
Independent study leading to completion of requirements (other than course work) for the master's degree. To retain classified standing in the master's program, a student must enroll in 698 each quarter until the project or thesis is accepted or the comprehensive examination passed. Students who enroll in 698 through the university have full use of all university facilities. See Culminating Experience: Exam, Thesis, or Project in Graduate Degree and Program Requirements section of the Bulletin of Courses. 698 is a variable unit course, see fee schedule in the Financial Information section of the Bulletin of Courses. Earned units are not degree-applicable nor will they qualify for financial aid.

CSE 698Z. Continuous Enrollment for Graduate Candidacy Standing. 0 Units.

Prerequisites: advancement to candidacy and approval of program graduate coordinator or, if an interdisciplinary studies major, consent of the Dean of Graduate Studies
Independent study leading to completion of requirements (other than course work) for the master's degree. To retain classified standing in the master's program, a student must enroll in 698 each quarter until the project or thesis is accepted or the comprehensive examination passed. Students who enroll in 698 through the university have full use of all university facilities. See Culminating Experience: Exam, Thesis, or Project in Graduate Degree and Program Requirements section of the Bulletin of Courses. 698 is a variable unit course, see fee schedule in the Financial Information section of the Bulletin of Courses. Earned units are not degree-applicable nor will they qualify for financial aid.

CSE 699B. Thesis. 2 Units.

Prerequisites: advancement to candidacy and consent of department major advisor
Independent graduate research conducted under the guidance of a major advisor; total of at least nine units for CSE 699 must be taken in contiguous quarters.

CSE 699C. Thesis. 3 Units.

Prerequisites: advancement to candidacy and consent of department major advisor
Independent graduate research conducted under the guidance of a major advisor; total of at least nine units for CSE 699 must be taken in contiguous quarters.

CSE 699D. Thesis. 4 Units.

Prerequisites: advancement to candidacy and consent of department major advisor
Independent graduate research conducted under the guidance of a major advisor; total of at least nine units for CSE 699 must be taken in contiguous quarters.

CSE 699E. Thesis. 5 Units.

Prerequisites: advancement to candidacy and consent of department major advisor
Independent graduate research conducted under the guidance of a major advisor; total of at least nine units for CSE 699 must be taken in contiguous quarters.

CSE 699F. Thesis. 6 Units.

Prerequisites: advancement to candidacy and consent of department major advisor
Independent graduate research conducted under the guidance of a major advisor; total of at least nine units for CSE 699 must be taken in contiguous quarters.