Computer Science & Engineering (CSE)

Courses

CSE 1100. Critical Thinking Through Computer Programming. Units: 3

Introduction to computational thinking and computer programming with the easy-to-learn Python programming language. Development of critical thinking and logical reasoning through problem solving with computer programming. An introductory programming course suitable for liberal arts and sciences students. Two hours lecture and two hours activity laboratory. Materials fee required. Satisfies GE Category A3.

CSE 1110L. Data Analysis Laboratory Using Spreadsheets. Unit: 1

Introductory laboratory course to data analysis using spreadsheet software. Data Analysis is a fundamental methodology for studying physical and life sciences. Spreadsheets such as Microsoft Excel are widely used for data analysis in living and non-living systems. This course help students understand the core concepts of data analysis, learn to apply data analysis techniques, and become proficient in data analysis in the software environment. Suitable for anyone who seeks a working knowledge of data analysis, and for learners who want to consolidate their skills in spreadsheets. Satisfies GE Category B3. Materials fee required.

CSE 1120L. Scientific Simulation. Unit: 1

Introductory course using computer simulation to enhance learning and understanding of real-world process operations, scientific principles, and theories. Learning of basic concepts, methods, and procedures of computer simulation to imitate, explore, and understand theories and processes in the physical and life sciences. Satisfies GE Category B3. Materials fee required.

CSE 1250. Programming Basics. Units: 4

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. Formerly CSE 125.

CSE 1290. College Learning for Lives and Careers in the Information Age. Units: 3

Reflection on the role of computer technology, digital devices, and smart electronics for living and learning in the information age. Examination of impact of technology on quality of life, appreciation of technological progress, understanding of responsibilities and awareness of drawbacks and dangers to interpersonal relationships. Topics include distance vs. face-to- face learning; communicating and socializing across distance vs. loss of human contact and social isolation; internet and smart technologies as causes for information overload and stress, and declining vs. newly emerging careers due to artificial intelligence. Satisfies GE Category E. Formerly CSE 129.

CSE 1300. Introduction to Data Science. Units: 3

Introduction to data acquisition, data manipulation, data modeling, data mining, data analysis, data visualization, and data processing. Sampling and applications of basic techniques of data science. Satisfies GE Category B4.

CSE 1300L. Introduction to Data Science Lab. Unit: 1

Semester Corequisite: CSE 1300
Additional instruction and practice for students registered in CSE 1300. Targeted activities and exercises to enhance understanding of concepts from the companion class. Topics include: understanding data as means to describe phenomena, learning about different types of data, data collection through processes of data discovery and data mining, computer-aided exploration of data and data visualization, drawing conclusions from data to make diagnoses and predictions. Placement determined by campus placement standards and consultation with an adviser. Graded Credit/ No credit.

CSE 2000Q2S. Computer Science II Semester Bridge. Units: 2

Semester Prerequisite: CSE 201 with a grade of C or better
This bridge course is a continuation of CSE 201 and will include content from CSE 202. Topics will include 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. The sequence CSE 201 and CSE 2000Q2S is equivalent to CSE 2010; students may not earn credit for both the sequence CSE 201 - CSE 2000Q2S and the semester course CSE 2010. Students who have completed CSE 202 may not earn credit for CSE 2000Q2S. One and half hours lecture and one hour lab per week for the duration of the semester. Department consent required.

CSE 2010. Computer Science I. Units: 4

Semester Prerequisite: CSE 1250 or Instructor consent. Quarter Prerequisite: 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 programming language. Survey of computers, applications, and other areas of computer science. Materials fee required. Formerly CSE 201 and CSE 202.

CSE 2020. Computer Science II. Units: 4

Semester Prerequisite: CSE 2010 with a grade of C or better and MATH 2720. Quarter Prerequisite: CSE 201 with a grade of C or better and MATH 272
Abstract data structures, including list, stack, queue, tree, and map, and their implementation, storage allocation, and associated applications; analysis of problems and formulation, documentation, and implementation of their solutions; software engineering principles. Materials fee required. Three hours lecture and two hours activity. Formerly CSE 330.

CSE 2130. Machine Organization. Units: 3

Semester Prerequisite: CSE 2010. Quarter Prerequisite: CSE 202
Number systems and data encoding, von Neumann computer architecture, instruction set architecture, addressing modes, arrays and records, subroutines and interrupts, I/O, assembly programming. Formerly CSE 313.

CSE 3100. Digital Logic. Units: 4

Semester Prerequisite: CSE 2010 and MATH 2720. Quarter Prerequisite: CSE 202 and MATH 272
Diodes and transistors, Boolean algebra and logic simplification, design and analysis of combinational and sequential circuits, memory elements, counters, introduction to hardware description language and FPGA programming. Three hours lecture and three hours laboratory. Materials fee required. Formerly CSE 310.

CSE 3350. Signals and Systems. Units: 3

Semester Prerequisite: MATH 2220 Calculus II and MATH 2310 Linear Algebra. Quarter Prerequisite: MATH 213 and MATH 331
Fundamentals of signal and system analysis; representations of discrete-time and continuous-time signals; linear, time-invariant systems; complex arithmetic and geometries; differential equations; Fourier, Laplace and Z transforms; frequency response. Formerly CSE 335.

CSE 3650. Systems Administration I. Units: 3

Semester Prerequisite: CSE 2010. Quarter Prerequisite: CSE 201
Responsibilities and skills of the systems administrator; managing accounts, file systems, system services, and email; security, reliability, and backups; emergencies; monitoring; automation and scripting; ethics and usability. Formerly CSE 365. Two hours lecture and two hours laboratory. Materials fee required.

CSE 3660. Systems Administration II. Units: 3

Semester Prerequisite: CSE 3650. Quarter Prerequisite: CSE 365
Planning and configuration of networks; network topologies; networking standards and OSI Model; TCP/IP protocol suite; network services; switches and routers; network security. Formerly CSE 366. Two hours lecture and two hours laboratory. Materials fee required.

CSE 3900. Computational Thinking and Block-based / Visual Programming for Educators. Units: 3

Involves solving problems and designing systems, using fundamental computing concepts such as decomposition, data representation, generalization/abstraction, and algorithms. Introduction to at least one block-based, visual (drag-and-drop) programming language. Cannot be counted towards fulfilling requirements in the following programs: BS in Computer Science, BS in Computer Engineering, BS in Bioinformatics, BA in Computer Systems, MS in Computer Science. Departmental consent required.

CSE 3901. Computer Programming for Educators. Units: 3

Semester Prerequisite: CSE 3900
Problem-solving techniques and algorithms. Basic control structures and data types. File I/O and exception handling. Program documentation and testing. Object-oriented concepts including classes, inheritance, and polymorphism. This course will cover a current high-level programming language such as Java and/or Python. Cannot be counted towards fulfilling requirements in the BA in Computer Systems.

CSE 3902. Data Structures and Algorithms for Educators. Units: 3

Semester Prerequisite: CSE 3901
Abstract data structures, including list, stack, queue, tree, and map, and their implementation, storage allocation, and associated applications; analysis of problems and formulation, documentation, and implementation of their solutions. Techniques in algorithm design. Cannot be counted towards fulfilling requirements in the following programs: BS in Computer Science, BS in Computer Engineering, BS in Bioinformatics, BA in Computer Systems, MS in Computer Science.

CSE 3903. Software Development for Educators. Units: 3

Semester Prerequisite: CSE 3901
Covers the process of planning, engineering and implementing a software system to solve a problem. Introduction to database systems. Use of software tools, such as authoring and database tools, for the development of educational software. Cannot be counted towards fulfilling requirements in the following programs: BS in Computer Science, BS in Computer Engineering, BS in Bioinformatics, BA in Computer Systems, MS in Computer Science.

CSE 3904. Information and Communication Technologies and Social Implications. Units: 3

Covers computer and communication devices and the systems they compose, including the concepts and abstractions that enable standalone, networked, and mobile digital devices to operate and communicate. Includes the social, ethical, and legal issues and impacts of computing, as well as the contributions of computer science to current and future innovations in the arts, business, humanities, medicine, and science. Cannot be counted towards fulfilling requirements in the following programs: BS in Computer Science, BS in Computer Engineering, BS in Bioinformatics, BA in Computer Systems, MS in Computer Science. Departmental consent required.

CSE 4010. Contemporary Computer Architecture. Units: 4

Semester Prerequisite: CSE 3100 and CSE 2130. Quarter Corequisite: Q2S conversion. Quarter Prerequisite: CSE 310 and CSE 313
Instruction set architecture; design methodology; performance measurement; computer arithmetic; memory hierarchy; RISC architectures, including pipelining and parallel-processing; distributed system architectures. Three hours lecture and three hours laboratory. Materials fee required. Formerly CSE 401.

CSE 4030. Analog Circuit Design and Analysis. Units: 4

Semester Prerequisite: CSE 3100 and CSE 3350. Quarter Prerequisite: CSE 310, MATH 251, and PHYS 150
Design and analysis of analog circuits: circuit elements, mesh and node analysis, op-amps, circuit analysis in frequency domain and S domain, and transfer function. Three hours lecture and three hours laboratory. Materials fee required. Formerly CSE 403.

CSE 4050. Web Application Development. Units: 3

Semester Prerequisite: CSE 2020. Quarter Prerequisite: CSE 330
Web application protocols (IP, TCP, DNS, TLS, HTTP), Web standards (HTTP, CSS, Javascript), database backends, Web server execution environments, client-side frameworks, developer tools, application security. Formerly CSE 405.

CSE 4100. Computer Networking and Security. Units: 3

Semester Prerequisite: CSE 2020. Quarter Prerequisite: CSE 330
Computer networks, network security, OSI model, TCP/IP, LAN and WAN, network principles and protocols, wireless networks, network management, network and web security.

CSE 4200. Computer Graphics. Units: 3

Semester Prerequisite: CSE 2020 and MATH 2310. Quarter Prerequisite: CSE 330 and MATH 331
Survey of computer graphics hardware. Basic principles of creating computer graphics, opengl programming, animation, two-dimensional and three-dimensional transformations, hidden surface removal algorithms, and applications. Formerly CSE 420.

CSE 4310. Algorithm Analysis. Units: 3

Semester Prerequisite: CSE 2020 and MATH 2310. Quarter Prerequisite: CSE 330 and MATH 372
Analysis and design of algorithms, including time and space complexity, design methodologies, and taxonomic classification of problems. Formerly CSE 431.

CSE 4400. Game Design. Units: 3

Semester Prerequisite: CSE 2020. Quarter Prerequisite: CSE 330
Study of game design concepts and game design specification. Principles of user interface layout, game design techniques, game design methodologies, artificial intelligence in gaming, and game design tools. Formerly CSE 440.

CSE 4410. Game Programming. Units: 3

Semester Prerequisite: CSE 2020. Quarter Prerequisite: CSE 330
Techniques and technology used to produce games, game engines and their APIs, art asset creation, level design tools, game project development environments, and version control. Formerly CSE 441.

CSE 4500. Platform Computing. Units: 3

Semester Prerequisite: CSE 2020. Quarter Prerequisite: CSE 330
Mobile, cloud-based, or web-based app design and development. Also includes cross and multi-platform issues, and virtual reality and social network concepts.

CSE 4550. Software Engineering. Units: 3

Semester Prerequisite: CSE 2020. Quarter Prerequisite: CSE 330
Software life-cycle, software processes, practice of software engineering for software design and development, and team collaboration in a culminating software project is required. Formerly CSE 455.

CSE 4560. Embedded Systems. Units: 4

Semester Prerequisite: CSE 3100 and CSE 2130. Quarter Prerequisite: CSE 310 and CSE 313
Theory and practice of software and hardware co-design: microcontrollers and programming, data acquisition, real-time operating systems, and low-power design techniques. Three hours lecture and three hours laboratory. Materials fee required. Formerly CSE 456.

CSE 4600. Operating Systems. Units: 3

Quarter Prerequisite: CSE 313 and CSE 330
Overview, design, implementation, and security of operating systems. Process management, memory management, file systems, multiprocessor systems, distributed systems. Formerly CSE 460.

CSE 4610. Advanced Operating Systems. Units: 3

Semester Prerequisite: CSE 4600. Quarter Prerequisite: CSE 460
File systems, I/O systems, security distributed systems. Formerly CSE 461.

CSE 4820. Senior Project. Units: 3

Semester Prerequisite: Consent of the school of CSE. Quarter Prerequisite: Consent of the department
Analysis, design and implementation of a software system that solves a problem related to the student's option. Presentation techniques and communication skills to support project planning and execution. Consent of the School of CSE required. Formerly CSE 482.

CSE 4880. Ethics Senior Seminar. Units: 3

Semester Prerequisite: Senior Standing. Quarter Prerequisite: senior standing
Seminars on a wide range of computer science topics especially as it pertains to professionalism, ethics, legal issues and the social impact and role of computer technology. Also includes presentations from industry and university personnel, and students regarding projects and research work. Formerly CSE 488.

CSE 5000. Introduction to Formal Languages and Automata Theory. Units: 3

Semester Prerequisite: CSE 2020. Quarter Prerequisite: 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, Turing machine, closure properties. Formerly CSE 500.

CSE 5010. Introduction to Theory of Computation. Units: 3

Semester Prerequisite: CSE 5000 or consent of instructor. Quarter Prerequisite: 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 graduate credit. Formerly CSE 501.

CSE 5100. Advanced Computer Architecture. Units: 3

Semester Prerequisite: CSE 4010. Quarter Prerequisite: 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. May not be taken for graduate credit. Formerly CSE 510.

CSE 5120. Introduction to Artificial Intelligence. Units: 3

Semester Prerequisite: CSE 2020. Quarter Prerequisite: CSE 330
Foundations of artificial intelligence, current techniques and methods, problems, limitations and future prospects of machine intelligence. Formerly CSE 512.

CSE 5140. Computational Intelligence. Units: 3

Semester Prerequisite: MATH 2210 and CSE 2020. Quarter Prerequisite: 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, deep learning, decision making and prediction. Formerly CSE 514.

CSE 5150. Automated Reasoning. Units: 3

Semester Prerequisite: CSE 4310. Quarter Prerequisite: CSE 431
Study of logical deduction algorithms and their limitations, propositional and predicate calculus, completeness and incompleteness theorems, Herbrand-G�del computability, the resolution principle, equality and inequality relations. Automation of theorem proving techniques. Formerly CSE 515. Similar to PHIL #400 or PHIL 400. Students may not receive credit for this course and any of the above courses.

CSE 5160. Machine Learning. Units: 3

Semester Prerequisite: CSE 2020 and MATH 2265
Theory and practice of machine learning: reinforced learning, supervised learning such as SVMs, data clustering, learning in multi-agent systems, applications in computer vision, and knowledge discovery in big data. Formerly CSE 516.

CSE 5200. Advanced Computer Graphics. Units: 3

Semester Prerequisite: CSE 4200. Quarter Prerequisite: CSE 420
Advanced computer graphics concepts, theory and implementation techniques. Shading models and languages, parametric curves and surfaces, hidden edge and surface removal, and anti-aliasing. Formerly CSE 520.

CSE 5208. Introduction to Computer Engineering Design. Units: 4

Semester Prerequisite: Senior Standing. Quarter Prerequisite: Consent of Instructor
Introduction to the principles of engineering design. Requirements analysis, system specifications, project management and tools, human-computer interface, accessibility and inclusivity of products,�engineering ethics, technical writing. Three hours lecture and three hours laboratory. Materials fee required. Formerly CSE 208 and CSE 308. Consent of instructor required.

CSE 5210. Digital System Design. Units: 4

Semester Prerequisite: CSE 4010. Quarter Prerequisite: CSE 401
Digital system design with FPGA, control and datapath, architecture and synthesis, design constraints, I/O peripherals. Three hours lecture and three hours laboratory. Materials fee required. Formerly CSE 521.

CSE 5250. Parallel Algorithms and Programming. Units: 3

Semester Prerequisite: CSE 4010. Quarter Prerequisite: CSE 401
Topics include algorithm design, analysis, and programming of high performance computers. Also covered are control-parallel versus data-parallel approaches, and selected parallel programming languages. Formerly CSE 525.

CSE 5300. Data Communications. Units: 3

Semester Prerequisite: CSE 2020 and CSE 3350. Quarter Prerequisite: CSE 313 or 598, and CSE 330
Principles of analog and digital communications. Signal modulation principles and schemes, digitization and synchronization, channel coding, communication protocols and conventions, base-band signal representation and transmission. Formerly CSE 530.

CSE 5350. Numerical Computation. Units: 3

Semester Prerequisite: CSE 2020 and MATH 2310. Quarter Prerequisite: MATH 331
Introduction to scientific computing. Algorithms related to approximations, zero findings, least squares, eigenvalue problems, numerical differentiation and integration, data fitting and interpolation, optimizations, nonlinear equations. Formerly CSE 535.

CSE 5408. Sustainable Engineering Design. Units: 4

Semester Prerequisite: CSE 5208. Quarter Prerequisite: CSE 308
Guided engineering design project on an ongoing real-world problem. System architectural design and evaluation; concurrent hardware and software design; system integration, testing and validation; maintainability; sustainability; safety and fault tolerance; project documentation.� Three hours lecture and three hours laboratory. Materials fee required. Formerly CSE 408.

CSE 5410. Robotics and Control. Units: 4

Semester Prerequisite: CSE 3100 and MATH 2310. Quarter Prerequisite: CSE 310 and CSE 313
Theory and practice of forward and reverse kinematics, PID control, robotic construction and programming. Three hours lecture and three hours laboratory. Materials fee required. Formerly CSE 541.

CSE 5500. Advanced Bioinformatics I: Sequence Analysis. Units: 3

Semester Prerequisite: Senior standing or consent of instructor. Quarter Prerequisite: CSE 431 and senior standing or consent of instructor
The course covers how application of computational techniques can help in solving real life problems, related to biology and biochemistry including the efficient use multiple genomics and bioinformatics tools for the analysis of DNA, RNA, and protein sequences. Formerly CSE 550.

CSE 5510. Advanced Bioinformatics II: Numerical Modeling. Units: 3

Semester Prerequisite: CSE 5350. Quarter Prerequisite: CSE 535
Numerical techniques for the modeling and simulation of biological and chemical systems using ordinary and partial differential equations, and stochastic variables. Formerly CSE 551.

CSE 5700. Compilers. Units: 3

Semester Prerequisite: CSE 2020 and CSE 2130. Quarter Prerequisite: CSE 313 and CSE 330
Interpreter and compiler structures. Topics include symbol tables, lexical and syntactic analyzers, and object code generation. Formerly CSE 570.

CSE 5720. Database Systems. Units: 3

Semester Prerequisite: CSE 2020. Quarter Prerequisite: 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. Formerly CSE 572.

CSE 5750. Internship in Computer Science and Engineering. Units: 3

Semester Prerequisite: A minimum overall grade point average of 3, consent of instructor and departmental approval of a written proposal of a project submitted on a standard application filed in advance of the semester in which the course is to be taken. Quarter Prerequisite: A minimum overall grade point average of 3, 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
Supervised work and study in private or public organizations. Graded credit/no credit. Formerly CSE 575.

CSE 5800. Advanced Database Systems. Units: 3

Semester Prerequisite: CSE 5720. Quarter Prerequisite: 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. Formerly CSE 580.

CSE 5940. Topics in Computer Science and Engineering. Units: 3

Semester Prerequisite: CSE 2020 or consent of instructor. Quarter Prerequisite: CSE 330 or consent of instructor
An in-depth consideration of selected areas of computer science and engineering. May be repeated for credit as topics change, credit may not be received twice for the same topic. Formerly CSE 594.

CSE 5951. Independent Study. Unit: 1

Semester Prerequisite: A minimum overall grade point average of 3, consent of instructor and departmental approval of a written proposal of a project submitted on a standard application filed in advance of the semester in which the course is to be taken. Quarter Prerequisite: A minimum overall grade point average of 3
Laboratory and/or library research conducted under the direction of a faculty member. May be repeated three times. A total of three units of Independent Study may be applied toward the computer science, computer systems, computer engineering, and bioinformatics majors. Consent of the school required. Formerly CSE 595A.

CSE 5952. Independent Study. Units: 2

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

CSE 5953. Independent Study. Units: 3

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

CSE 6020. Computation and Complexity Theory. Units: 3

Semester Prerequisite: Graduate standing in computer science or consent of instructor. Quarter Prerequisite: 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 5010 or CSE 501. Formerly CSE 602.

CSE 6030. Advanced Computation and Complexity Theory. Units: 3

Semester Prerequisite: CSE 6020 or consent of instructor. Quarter Prerequisite: CSE 602 or consent of instructor
Advanced topics in theoretical foundations of computer science:Church's thesis and undecidable problems; time and space complexity classes and relation to time randomized computation, interactive proofs; circuit computational model and circuit complexity; crytography and quantum complexity. Formerly CSE 603.

CSE 6100. Modern Computer Architecture. Units: 3

Semester Prerequisite: Graduate standing in computer science or consent of instructor. Quarter Prerequisite: 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 5100 or CSE 510. Formerly CSE 610.

CSE 6110. VLSI Circuit Design. Units: 3

Semester Prerequisite: graduate standing in computer science or consent of instructor. Quarter Prerequisite: 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. Formerly CSE 611.

CSE 6200. Programming Languages Theory. Units: 3

Semester Prerequisite: Graduate standing in Computer Science or consent of instructor. Quarter Prerequisite: 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. Formerly CSE 620.

CSE 6210. Contemporary Computer Graphics. Units: 3

Semester Prerequisite: Graduate standing in computer science or consent of instructor, and basic knowledge of computer graphics. Quarter Prerequisite: Graduate standing in computer science or consent of instructor, and basic knowledge of computer graphics
Theory and practice of modern computer graphics techniques. Topics include 3-D modeling, interaction, ray tracing, object representation, visualization, and animation techniques. Formerly CSE 621.

CSE 6240. Distributed Computer Systems. Units: 3

Semester Prerequisite: graduate standing in computer science or consent of instructor. Quarter Prerequisite: graduate standing in computer science or consent of instructor
Message passing; implementation of shared data over messaging; distributed control; access methods; reliability; heterogeneity; resilience; applications in operating systems, synchronization, and deadlock. Formerly CSE 624.

CSE 6250. Multiprocessor and Parallel Processing. Units: 3

Semester Prerequisite: Graduate standing in Computer Science or consent of instructor. Quarter Prerequisite: graduate standing in computer science or consent of instructor
Tightly and loosely coupled multiprocessors; interconnection network; parallel programming languages; scheduling; problem decomposition; performance; synchronization; communication; multiprocessor programming. May not be taken for credit by students who have received credit for CSE 525 or CSE 5250. Formerly CSE 625.

CSE 6300. Theory of Algorithms and Their Analysis. Units: 3

Semester Prerequisite: Graduate standing in computer science or consent of instructor. Quarter Prerequisite: 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. Formerly CSE 630.

CSE 6310. Advanced Data Communications. Units: 3

Semester Prerequisite: CSE 5300 or CSE 4100 or consent of instructor. Quarter Prerequisite: CSE 530 or consent of instructor
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. Formerly CSE 631.

CSE 6340. Neural Networks. Units: 3

Semester Prerequisite: Graduate standing in computer science or consent of instructor. Quarter Prerequisite: Graduate standing in computer science or consent of instructor
Theory and applications of neural networks; current developments; perceptrons, recurrent networks, self-organizing maps, multi-layer networks, deep learning, content-addressable memories. Formerly CSE 634.

CSE 6350. Numerical Algorithms and Simulation. Units: 3

Semester Prerequisite: CSE 5350 or consent of instructor. Quarter Prerequisite: CSE 535 or consent of instructor
Scientific computing and simulation. Systems of liner equations, linear least squares, backward error analysis and numerical stability, stiff equations, simulation, sparse matrices. Formerly CSE 635.

CSE 6400. Artificial Intelligence. Units: 3

Quarter Prerequisite: Graduate standing in computer science or consent of instructor
Knowledge representations, heuristics, theory of problem solving; adaptive systems; natural language understanding; automatic theorem proving; machine learning and robotics systems. Formerly 640.

CSE 6550. Software Engineering Concepts. Units: 3

Semester Prerequisite: Graduate standing in computer science or consent of instructor. Quarter Prerequisite: CSE 455, 555, or 556 or consent of instructor
Analysis 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 applications in object-oriented programming languages. Formerly CSE 655.

CSE 6560. Formal Methods, Models and Languages. Units: 3

Semester Prerequisite: Consent of instructor. Quarter Prerequisite: Consent of instructor
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. Formerly CSE 656.

CSE 6600. Operating Systems Concepts and Theory. Units: 3

Semester Prerequisite: Graduate standing in computer science or consent of instructor. Quarter Prerequisite: 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. Formerly CSE 660.

CSE 6700. Compiler Design Theory. Units: 3

Semester Prerequisite: graduate standing in computer science or consent of instructor. Quarter Prerequisite: 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. Formerly CSE 670.

CSE 6710. Advanced Compilers. Units: 3

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

CSE 6800. Distributed Database Management Systems. Units: 3

Semester Prerequisite: graduate standing in computer science or consent of instructor. Quarter Prerequisite: 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 5800. Fomerly CSE 680.

CSE 6890. Graduate Seminar. Unit: 1

Semester Prerequisite: CSE 6020, CSE 6100, CSE 6300, CSE 6550, CSE 6600. Prerequisite: CSE 602, CSE 610, CSE 630, CSE 655, CSE 660
Presentations of current research areas and review of topics from the five required courses of the M.S. in Computer Science program. Graded credit/no credit.

CSE 6940. Graduate Research Methods in Computer Science. Units: 3

Semester Prerequisite: Classified standing in the MS program
Directed individual study of modern methods and techniques of conducting research in computer science, including performing literature review, under the supervision of the student's advisor. Graded credit/no credit. Consent of School required.

CSE 6950. Graduate Independent Study. Units: 3

Semester Prerequisite: graduate standing in computer science and approval of a written proposal of the research by the department graduate program coordinator. Quarter Prerequisite: 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. Consent of the School of CSE required. Formerly 695.

CSE 6962. Masters Project. Units: 2

Semester Prerequisite: advancement to candidacy. Quarter Prerequisite: advancement to candidacy and consent of department major advisor
Independent graduate project conducted under the guidance of a major advisor; a total of four units of Masters Project must be taken in contiguous semesters. Consent of the School of CSE required. Formerly CSE 690.

CSE 6964. Masters Project. Units: 4

Semester Prerequisite: advancement to candidacy. Quarter Prerequisite: advancement to candidacy and consent of department major advisor
Independent graduate project conducted under the guidance of a major advisor; four units of Masters Project may be counted to the MS in Computer Science. Formerly CSE 690. Consent of the School of CSE.

CSE 6972. Thesis. Units: 2

Semester Prerequisite: advancement to candidacy and consent of department major advisor. Quarter Prerequisite: advancement to candidacy and consent of department major advisor
Independent graduate research conducted under the guidance of a major advisor; a total of six units of Thesis may be applied to the MS in Computer Science and may be taken in one semester or in consecutive semesters. Consent of the School of CSE required. Formerly CSE 699B.

CSE 6973. Thesis. Units: 3

Semester Prerequisite: advancement to candidacy and consent of department major advisor. Quarter Prerequisite: advancement to candidacy and consent of department major advisor
Independent graduate research conducted under the guidance of a major advisor; a total of six units of Thesis may be applied to the MS in Computer Science and may be taken in one semester or in consecutive semesters. Consent of the School of CSE required. Formerly CSE 699C.

CSE 6974. Thesis. Units: 4

Semester Prerequisite: advancement to candidacy and consent of department major advisor. Quarter Prerequisite: advancement to candidacy and consent of department major advisor
Independent graduate research conducted under the guidance of a major advisor; a total of six units of Thesis may be applied to the MS in Computer Science and may be taken in one semester or in consecutive semesters. Consent of the School of CSE required. Formerly CSE 699D.

CSE 6976. Thesis. Units: 6

Semester Prerequisite: advancement to candidacy and consent of department major advisor. Quarter Prerequisite: advancement to candidacy and consent of department major advisor
Independent graduate research conducted under the guidance of a major advisor; a total of six units of Thesis may be applied to the MS in Computer Science and must be taken in or one semester or in consecutive semesters. Consent of the School of CSE required. Formerly CSE 699.

CSE 6980. Comprehensive Examination. Units: 0

Semester Prerequisite: CSE 6020, CSE 6100, CSE 6300, CSE 6550, CSE 6600 and consent of graduate coordinator. Quarter Prerequisite: CSE 602, CSE 610, CSE 630, CSE 655, CSE 660 and consent of graduate coordinator
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. Department consent required. Formerly CSE 689.

CSE 6990. Continuous Enrollment for Graduate Candidacy Standing. Units: 0

Quarter Prerequisite: 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 a Continuous Enrollment for Graduate Candidacy Standing course each quarter until the project or thesis is accepted or the comprehensive examination passed. Students who enroll 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. Continuous Enrollment for Graduate Candidacy Standing 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 6991. Continuous Enrollment for Graduate Candidacy Standing. Unit: 1

Quarter Prerequisite: 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 a Continuous Enrollment for Graduate Candidacy Standing course each quarter until the project or thesis is accepted or the comprehensive examination passed. Students who enroll 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. Continuous Enrollment for Graduate Candidacy Standing 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 6992. Continuous Enrollment for Graduate Candidacy Standing. Units: 2

Quarter Prerequisite: 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 a Continuous Enrollment for Graduate Candidacy Standing course each quarter until the project or thesis is accepted or the comprehensive examination passed. Students who enroll 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. Continuous Enrollment for Graduate Candidacy Standing 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 6993. Continuous Enrollment for Graduate Candidacy Standing. Units: 3

Quarter Prerequisite: 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 a Continuous Enrollment for Graduate Candidacy Standing course each quarter until the project or thesis is accepted or the comprehensive examination passed. Students who enroll 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. Continuous Enrollment for Graduate Candidacy Standing 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 6994. Continuous Enrollment for Graduate Candidacy Standing. Units: 4

Quarter Prerequisite: 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 a Continuous Enrollment for Graduate Candidacy Standing course each quarter until the project or thesis is accepted or the comprehensive examination passed. Students who enroll 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. Continuous Enrollment for Graduate Candidacy Standing 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 6995. Continuous Enrollment for Graduate Candidacy Standing. Units: 5

Quarter Prerequisite: 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 a Continuous Enrollment for Graduate Candidacy Standing course each quarter until the project or thesis is accepted or the comprehensive examination passed. Students who enroll 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. Continuous Enrollment for Graduate Candidacy Standing 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 6996. Continuous Enrollment for Graduate Candidacy Standing. Units: 6

Quarter Prerequisite: 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 a Continuous Enrollment for Graduate Candidacy Standing course each quarter until the project or thesis is accepted or the comprehensive examination passed. Students who enroll 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. Continuous Enrollment for Graduate Candidacy Standing 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.