Course Offerings

COMPUTER SCIENCE AND ENGINEERING (CSE)

Effective Fall 2010, the designation for Computer Science and Engineering courses changes from CSCI to CSE.

Lower Division

121. Computer Technology and People
Computer technology: background, contemporary uses, implications and trends, impact on society and ethics. No previous computer background required. May not be taken for credit by students who have received credit for CSE 100, 120 or 127. (2 units)
122. Bioinformatics
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. (GE=B4) (2 units)
123. Using Computer Software
Word processor, spreadsheet, and database as an aid to personal productivity. One hour lecture and two hours laboratory. Materials fee required. No previous computer background required. May not be taken for credit by students who have received credit for CSE 100 or 127. (2 units)
124. Exploring the Information Superhighway
Familiarization, use and customization of software tools to explore and publish information on the Internet. This includes Electronic Mail, the World Wide Web and USENET news groups. One hour lecture and two hours laboratory. Materials fee required. (2 units)
125. Programming in Visual Basic
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. (4 units)
127. Introduction to Computer Technology for Educators
Operations, terminology and components. Implications for a democratic society, impacts on quality-of-life including economics, morality, legality and ethics. Hands-on use of computers for word processing, etc. Three hours lecture and two hours laboratory. Materials fee required. No programming involved. No previous computer experience required. May not be taken for credit by students who have received credit for CSE 100, 121 and 123. (4 units)
128. Application Programming
Developing applications using a current graphical user programming environment. Three hours lecture and two hours activity laboratory. Materials fee required. (4 units)
129. Science, Computing and Society
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. (GE=B4) (2 units)
133. Using Word Processors and Presentation Software
Advanced features and applications of word processing and presentation software. Includes desktop publishing, building macros, building custom presentation templates and proper presentation techniques. One hour lecture and two hours laboratory. Materials fee required. Prerequisite: CSE 123 or consent of instructor. (2 units)
134. Using Spreadsheet and Database Software
Advanced features and applications of spreadsheets and end-user database applications, including advanced formula programming, spreadsheet linking and database access. One hour lecture and two hours laboratory. Materials fee required. Prerequisite: CSE 123 or consent of instructor. (2 units)
136. HTML Programming
Using the Hyper Text Markup Language to create Web pages. One hour lecture and two hours laboratory. Materials fee required. Prerequisite: CSE 124 or consent of instructor. (2 units)
140. Introduction to Game Design
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. Materials fee required. (2 units)
141. Introduction to Game Level Editing
Basic concepts on level editing of games and how a game is fine-tuned and balanced to improve game play 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. (2 units)
201. Computer Science I
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. Prerequisites: satisfactory score on the Entry Level Mathematics examination, and either some prior computer programming experience, or CSE 125. (4 units)
202. Computer Science II
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. Prerequisites: CSE 201 and satisfactory score on the Entry Level Mathematics examination. (4 units)
240. FORTRAN Programming
FORTRAN language with emphasis on computer solution of problems reducible to algebraic models and elementary numerical methods. Prerequisites: MATH 211 and either some computer programming experience or CSE 125. (4 units)
280. Low Level Language
Study of the assembly language for selected processors such as 8086/88, 68000, PDP II, VAX II, etc. May be repeated twice for credit as topics change. Prerequisite: CSE 202. (4 units)
290. High Level Language
Study of a selected high-level programming language, such as ADA, COBOL, C, Prolog or LISP. May be repeated for credit as topics change. Prerequisite: CSE 202. (4 units)
292. JAVA Programming
Study of object oriented programming and techniques using JAVA programming language. Prerequisite: prior course in computer programming. (4 units)
295. Computer Science Project
Production of documented computer programs under the direction of a faculty member. May be repeated twice for credit using different projects, a total of four units may apply toward graduation. Prerequisites: a minimum overall grade point average of 3.0 ("B"), 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. (1-4 units)
298. Application Software Topics
Applications software in areas such as word processing, database, graphics, desk top publishing, planning and communications will be examined under specific operating systems. This is a how-to course and hands-on experience will be stressed. May be repeated for credit as topics change. No previous computing experience is required. One hour lecture and two hours laboratory. Materials fee required. Graded credit/no credit. (2 units)

Upper Division

310. Digital Logic
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. Prerequisites: CSE 202 and MATH 272. (5 units)
311. Advanced Digital Design
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. Prerequisite: CSE 310. (4 units)
313. Machine Organization
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. Prerequisite: CSE 202. (4 units)
320. Programming Languages
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. Prerequisite: CSE 202. (4 units)
322. Web Page Programming
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. Prerequisite: CSE 202 or consent of instructor. (4 units)
330. Data Structures
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. Prerequisites: CSE 202 and MATH 272 or 372. (4 units)
350. File Systems
Topics include file structures, file organization concepts and philosophies. Prerequisite: CSE 330. (4 units)
360. Script Programming
Getting started; terminal types; e-mail; command line and GUI interfaces; advanced editing; macros; text processing and programmer's tools. Two hours lecture and four hours activity laboratory. Materials fee required. Prerequisite: CSE 201. (4 units)
365. Systems Administration
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. Prerequisite: CSE 201.
(4 units)
366. Systems Networking
Planning and configuring networks; file transfer; network file servers; bridges and routers. Three hours lecture and two hours activity laboratory. Materials fee required. Prerequisite: CSE 365. (4 units)
375. Requirements Analysis and Design
Requirements analysis, including organizational objectives, functional characteristics, technology, use cases and conceptual models. The use of aspects, patterns, objects and structure in architectural design specifications. Includes analysis and design of a software system for an organization, and fieldwork. Prerequisite: CSE 202. (4 units)
399. Community Service Project
Credit for performing academically related tasks in such agencies as educational, governmental and social service institutions. May be repeated for a total of six units. No more than six units of credit for Community Service Project courses may be applied toward degree requirements. Graded credit/no credit. Prerequisite: consent of department. (1-2 units)
401. Contemporary Computer Architectures
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. Prerequisites: CSE 310 and 313. (5 units)
403. Circuit Design and Analysis
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. Three hours lecture and three hours activity laboratory. Materials fee required. Prerequisites: CSE 310, MATH 251, and PHYS 150. (4 units)
405. Server Programming
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. Prerequisite: CSE 322. (4 units)
406. Introduction to Computer Engineering Design
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 152 and PHYS 152. Prerequisite: junior standing. (2 units)
407. Computer Engineering Design
Guided engineering design activity on an ongoing real world problem. Two hours lecture and three hours laboratory. Formerly CSE 303. Prerequisite: CSE 406. (3 units)
408. Sustainable Engineering Design
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. Prerequisite: CSE 407. (4 units)
420. Computer Graphics
Survey of computer graphics hardware. Topics include animation, two-dimensional and three-dimensional transformation, hidden surface removal algorithm, business charts and applications. Prerequisite: CSE 330. (4 units)
431. Algorithm Analysis
Analysis and design of algorithms, including time and space complexity, design methodologies, and taxonomic classification of problems. Prerequisites: CSE 330 and MATH 372. (4 units)
440. Game Design
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. Prerequisite: CSE 330. (4 units)
441. Game Programming
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. Prerequisite: CSE 420. (4 units)
455. Software Engineering
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. Prerequisite: CSE 330. (4 units)
460. Operating Systems
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. Prerequisites: CSE 313 and 330. (4 units)
482. Senior Interdisciplinary Project
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. Prerequisites: CSE 375 and consent of department. (4 units)
488. Ethics and the Computing Professional
Professionalism, ethics, legal issues and the social impact and role of computer technology. Prerequisite: senior standing. (2 units)
489. Senior Seminar
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. Prerequisite: completion of all required 300-level computer science courses for the B.S. in Computer Science degree. (2 units)
492. Topics in Computer Science
Consideration of a selected area of computer science. May be repeated for credit as topics change. Prerequisite: CSE 431 or consent of instructor. (2 units)
500. Introduction to Formal Languages and Automata
Introduction to formal language theory. Finite state machines, regular grammars, context-free grammars, context-sensitive grammars, push-down automata, closure properties. Prerequisite: CSE 431 or consent of instructor. (4 units)
501. Introduction to Theory of Computation (S)
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 CSE 546. Prerequisite: CSE 500 or consent of instructor. (4 units)
510. Advanced Computer Architecture
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. Prerequisite: CSE 401. (4 units)
511. Expert Systems
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. Prerequisite: CSE 330. (4 units)
512. Introduction to Artificial Intelligence
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. Formerly CSE 411. Prerequisite: CSE 330. (4 units)
513. Advanced Artificial Intelligence
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. Prerequisite: CSE 512 or consent of instructor. (4 units)
515. Automated Reasoning
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. Prerequisite: CSE 431. (4 units)
520. Advanced Computer Graphics
Advanced computer graphics concepts, theory and implementation techniques. Topics include shading models, parametric curves and surfaces, hidden edge and surface removal, and anti-aliasing. Prerequisite: CSE 420. (4 units)
521. Field Programmable Gate Array Design
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. Prerequisite: CSE 401. (4 units)
524. Supercomputing and Visualization
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. Prerequisite: CSE 330 or consent of instructor. (4 units)
525. Parallel Algorithms and Programming
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. Prerequisite: CSE 401. (4 units)
530. Data Communications and Networks
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. Prerequisites: CSE 313 or 598, and 330. (4 units)
531. High Performance Networks
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. Prerequisite: CSE 530 or consent of instructor. (4 units)
535. Numerical Computation
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. Prerequisite: senior standing or consent of instructor. (4 units)
540. System Simulation
Theory and implementation of computerized modeling. Examples will include administrative, physical and biological systems. Prerequisite: CSE 330 or consent of instructor. (4 units)
541. Robotics and Control
Theory and practice of robotic modeling, control, programming, and construction. Three hours lecture and three hours laboratory. Materials fee required. Prerequisites: CSE 310 and 313. (4 units)
550. Advanced Bioinformatics I: Sequence Analysis
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. Prerequisites: CSE 431 and senior standing or consent of instructor. (4 units)
551. Advanced Bioinformatics II: Numerical Modeling
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. Prerequisite: CSE 535. (4 units)
555. Software Design and Architecture
Common patterns of architectural design, tradeoff analysis at the architectural level, domain-specific architectures, automatic support for architectural design, and formal methods of software architecture. Three hours lecture and two hours laboratory. Prerequisite: CSE 330. (4 units)
556. Introduction to Formal Methods, Models and Languages
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. Three hours lecture and two hours activity laboratory. Materials fee required. Prerequisites: CSE 320 and 330. (4 units)
557. Computer Systems in Organizations
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. Prerequisites: CSE 330, MATH 262, or consent of instructor. (4 units)
565. Systems Programming
Concepts of, and implementation techniques for systems software such as assemblers, editors, interpreters, linkers, loaders and operating systems. Prerequisite: CSE 460. (4 units)
570. Compilers
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. Prerequisites: CSE 313, 320 and 330. (4 units)
572. Database Systems
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. Prerequisite: CSE 330. (4 units)
575. Internship in Computer Science
Supervised work and study in private or public organizations. Graded credit/no credit. 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. (4 units)
580. Advanced Database Systems
Advanced description: 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. Prerequisite: CSE 572. (4 units)
594. Topics in Computer Science
An in-depth consideration of selected areas of computer science. May be repeated for credit as topics change. Prerequisite: CSE 431 or consent of instructor. (4 units)
595. Independent Study
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. 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. (1-4 units)
598. Foundations of Computer Architecture
Boolean algebra and logic gates; combinational and sequential logic; processor design; data path design; control design; memory organization; and system organization. May not be counted as upper-division elective units for the B.S. in Computer Science, B.A. in Computer Systems, B.S. in Computer Engineering, or B.S. in Bioinformatics. Prerequisites: CSE 202, MATH 272, and consent of instructor.
(4 units)
599. Foundations of Software Systems
Software development process which includes software life-cycles, software techniques and technologies used to produce large software systems; operating systems including processes, input/output, memory management, and file systems. May not be counted toward the B.S. in Computer Science, B.A. in Computer Systems, B.S. in Computer Engineering, or B.S. in Bioinformatics. Prerequisites: CSE 330 and consent of instructor. (4 units)

For more information please visit our website. School of Computer Science and Engineering