Skip to Content

Master of Science in Computer Science

Computer Science Courses

COMP 127. Web Applications. 4 Units.

The World-Wide Web consists of client-server applications operating over the Internet. This course introduces the skills and techniques for designing and developing web applications. Topics include: client-server architectures, web servers and web browsers, server-side programming, client-side programming, form processing, state management and multimedia. Prerequisites: Completion of all Fundamental Skills and COMP 053 with a "C-" or better or permission of instructor. (Fall, even years).

COMP 129. Software Engineering. 4 Units.

Students gain practical experience in dealing with medium to large scale software systems. Students learn how current analysis and design methodologies are used to develop the abstractions necessary to understand large systems. Students also learn how such methodologies and abstractions are used to communicate with coworkers and clients about the analysis and design. Because communication is an essential skill in large system development, students are expected to produce documents and presentations of professional quality and depth. Prerequisites: Completion of all Fundamental Skills and COMP 055 with a "C-" or better. (Spring, odd years).

COMP 135. Human-Computer Interface Design. 3 Units.

Human-Computer Interface (HCI) Design focuses on the relationship between humans and computers or other physical devices. This course helps students develop an understanding of the common problems in designing these interfaces and presents a set of design techniques to ensure that designs are both useful and useable. Prerequisite: Completion of all Fundamental Skills. Junior standing. (Spring, odd years).

COMP 137. Parallel Computing. 3 Units.

Parallel computing is a science which solves a large problem by giving small parts of the problem to many computers to solve and then combining the solutions for the parts into a solution for the problem. This course introduces architectures and implementation techniques to support parallel computation. Students are expected to design and implement an original parallel application as a term project. Prerequisite: Completion of all Fundamental Skills and COMP 053 with a "C-" or better. Corequisite: ECPE 170. (Spring, even years).

COMP 141. Programming Languages. 4 Units.

Topics in evaluation, design, and development of programming languages. Topics include type systems, variables and scope, functions, parameter passing, data hiding and abstractions, recursion, memory allocation, grammars and parsing, compiler architecture, programming paradigms, and comparison of programming languages and environments. Prerequisites: Completion of Fundamental Skills and COMP 053 with a "C-" or better. (Spring, every year).

COMP 147. Computing Theory. 4 Units.

Students study automata, formal languages and computability. Topics include finite state automata, regular languages, pushdown automata, context-free languages, Turing machines; decidability, reducibility, and time complexity that includes NP-completeness and intractability. Prerequisites: Completion of all Fundamental Skills; COMP 047 or ECPE 071 or MATH 074 with a "C-" or better. (Fall, every year).

COMP 151. Artificial Intelligence. 3 Units.

Students study fundamental concepts, techniques and tools used in Artificial Intelligence. Topics include knowledge representation, search techniques, machine learning and problem solving strategies. Also listed as ECPE 151. Prerequisites: Completion of all Fundamental Skills and COMP 053 with a “C-“ or better. (Fall, odd years).

COMP 153. Computer Graphics. 3 Units.

An introduction to two and three dimensional computer graphics. Basic representations and mathematical concepts, object modeling, viewing, lighting and shading. Programming using OpenGL and other computer graphics applications. Also listed as ECPE 153. Prerequisites: Completion of all Fundamental Skills and COMP 053 with a "C-" or better. (Fall, every year).

COMP 155. Computer Simulation. 4 Units.

This course explores digital simulation, in which a model of a system is executed on a computer. The course focuses on modeling methodologies, mathematical techniques for implementing models, and statistical techniques for analyzing the results of simulations. Students develop simulations using both simulation development toolkits and general-purpose programming languages. Also listed as EMGT 155. Prerequisites: Completion of all Fundamental Skills; MATH 037 or MATH 039; MATH 045 or MATH 051, COMP 051 or ENGR 019 with a "C-" or better. (Fall, even years).

COMP 157. Design and Analysis of Algorithms. 4 Units.

Topics for this course include complexity analysis, algorithms for searching, sorting, pattern matching, combinatorial problems, optimization problems, backtracking, algorithms related to number theory, graph algorithms, and the limitations of algorithm power. Prerequisites: Completion of all Fundamental Skills; COMP 047 or MATH 074; COMP 053; MATH 045 or MATH 051 with a "C-" or better. (Fall, every year).

COMP 159. Computer Game Technologies. 4 Units.

This course surveys the technologies and processes used for modern video game development. Course topics include software engineering, media creation and management, hardware interfaces, user interaction, 3D mathematics and common algorithms and data structures to support graphics, physics and artificial intelligence. Prerequisite: Completion of all Fundamental Skills and COMP 055 with a "C-" or better. (Fall, odd years).

COMP 162. Data Analytics Programming. 4 Units.

This course develops programming skills for computational data analysis. The course emphasizes programming for statistical analysis, machine learning and predictive modeling. Other topics include programming packages for handling, preparation, and manipulation of data, as well as visualization tools for exploration and presentation of data and results. The course emphasizes hands-on data and analysis using a variety of real-world data sets and analytical objectives. Prerequisites: Completion of all Fundamental Skills; COMP 051 or COMP 061.

COMP 163. Database Management Systems. 4 Units.

A database management system (DBMS) is a computer application designed for the efficient and effective storage, access and update of large volumes of data. This course looks at such systems from two perspectives. The user-center perspective focuses on how a DBMS is used to build support for a data intensive application. This perspective includes examination of common data models, query languages and design techniques. The system implementation perspective focuses on the policies, algorithms and data structures used to design and implement a DBMS. Prerequisites: Completion of all Fundamental Skills and COMP 053 with a "C-" or better. Corequisite: COMP 047 or MATH 074. (Spring, even years).

COMP 173. Operating Systems. 4 Units.

Students are introduced to the fundamental concepts of modern operating systems. Topics include an overview of the computer hardware that supports the operating system, process management, threads, and CPU scheduling. Students also study process synchronization that uses primitive and high-level languages, virtual memory management, file systems, system protection, and distributed systems. Prerequisites: Completion of all Fundamental Skills; COMP 053 and ECPE 170 with a "C-" or better or permission of instructor. (Fall, every year).

COMP 175. System Administration and Security. 3 Units.

Students are introduced to an operating system from an administrator's standpoint. Topics include installation with the proper allocation of disk resources, maintaining the operating system and various subsystems, security issues that include server hardening, host firewalls and network security issues. Students also study account administration in a networked environment, change management and intrusion detection. Prerequisites: Completion of all fundamental skills and familiarity with console-based operating systems commands. Junior standing. (Fall, every year).

COMP 177. Computer Networking. 4 Units.

Topics examined in this course include computer networks and the internet, LAN and WAN architectures, and packet switched networks and routing. Students learn about the 7-layer OSI model and internet protocol stack, socket programming and client/server systems, wireless and security. The course includes a laboratory. Also listed as ECPE 177. Prerequisites: Completion of all Fundamental Skills; COMP 053 and ECPE 170 with a "C-" or better. Junior or Senior standing. (Fall, every year).

COMP 178. Computer Network Security. 3 Units.

This course is an examination of the pervasive security threats related to the Internet, data communications and networking. Topics include TCP/IP protocols, authentication, encryption, malware, cybercrime, and social engineering. Emphasis is on computer and network attack methods, their detection, prevention and analysis, and the integration of the tools and techniques employed in this effort. Includes lab. Prerequisites: Completion of all Fundamental Skills and ECPE 170 or COMP 175 with a “C-“ or better. (Spring, every year).

COMP 187. Internship in Computer Science. 1-4 Units.

This internship course offers cooperative employment in a professional computer science environment. The internship requires satisfactory completion of the work assignment and written reports. Prerequisites: Completion of all Fundamental Skills; COMP 055 and ENGR 025 with a "C-" or better. Grading is Pass/No Credit only.

COMP 191. Independent Study. 1-4 Units.

Students create student-initiated projects that cover topics not available in regularly scheduled courses. A written proposal that outlines the project and norms for evaluation must be approved by the department chairperson.

COMP 195. CS Senior Project. 4 Units.

In this course, students synthesize their cumulative computer science knowledge through the development of a computer application. Students will establish design objectives and criteria, analyze solution alternatives and evaluate design performance. Students will then implement, test and evaluate the system. Results will include analysis and design documents, the implemented system, test reports and a presentation and demonstration of the project. Prerequisites: Completion of all Fundamental Skills, Senior Standing, COMP 055 with a “C-“ or better.

COMP 197. Undergraduate Research. 1-4 Units.

Students conduct supervised research that contributes to current active topics in Computer Science. Topics may be selected by the student, related to faculty research, or provided by industrial sponsors. Permission of Undergraduate Research Coordinator.

COMP 241. Programming Language Semantics. 3 Units.

This course examines a variety of modern programming languages from a theoretical perspective. The focus is on languages designed to support particular novel or interesting concepts. Formal techniques for the specification of the semantics of languages are used to compare and contrast languages. Prerequisites: COMP 141 with a "C" or better and Graduate or blended students in the School of Engineering and Computer Science.

COMP 251. Machine Learning. 3 Units.

An introduction to statistical machine learning that covers practical applications of machine learning as well as theoretical concepts like PAC learning and Occam's Razor. Topics include: decision tree learning, artificial neural networks, Bayesian learning, reinforcement learning, genetic algorithms, Markov decision processes and clustering. Prerequisites: COMP 053 with a "C" or better, Graduate or blended students in the School of Engineering and Computer Science or instructor approval.

COMP 252. Natural Language Processing. 3 Units.

This course is an introduction to the topic of natural language processing (NLP) from a computational perspective. The course covers both formal and statistical approaches to NLP. Coursework includes programming, analysis and literature review assignments. Topics include: n-gram models, part-of-speech tagging, hidden Markov models, parsing, semantics, information extraction, question answering, dialogue agents and machine translation. Prerequisites: COMP 147, COMP 157, MATH 037 with a "C" or better and Graduate or blended students in the School of Engineering and Computer Science or instructor approval.

COMP 253. Virtual Reality. 3 Units.

This course provides an overview of the field of virtual reality (VR). Topics include stereoscopic display, force feedback and haptic simulation, viewer tracking, virtual worlds, 3D user interface issues, augmented reality, and contemporary applications of VR in entertainment, teaching and training. Students gain practical experience designing and evaluating a virtual reality application. Prerequisites: Graduate or blended students in the School of Engineering and Computer Science.

COMP 258. Design/Assess of Serious Games. 3 Units.

This course develops the skills and techniques required for the creation of serious games, which are games that have an additional purpose beyond entertainment. Topics include understanding and evaluating the current landscape of serious games, undergoing the research to design a serious game, and then assessing the games created to see if they fulfill their goals as a serious game. This course is intended to prepare students to design, develop and assess multi-purpose software. Prerequisite: Graduate or blended students in the School of Engineering and Computer Science or instructor approval.

COMP 259. Character Animation. 3 Units.

Investigation of algorithmic and data-driven techniques for directing the motion of computer generated characters, with a focus on human-like motion. Coursework includes analysis of published research, programming assignments and an original research project/investigation. Prerequisite: Graduate or blended students in the School of Engineering and Computer Science or permission of the instructor.

COMP 261. Data Science. 3 Units.

This course is about the principles and methods for handling big data. Topics include data sources, data products, data analysis, and data visualization. Students are expected to read technical papers and apply techniques to solve real-world big data problems. Prerequisite: Graduate or blended students in the School of Engineering and Computer Science or permission of the instructor.

COMP 270. Secure Software Systems. 3 Units.

In this course, students will study best practices for secure software development. Topics will include secure software design, secure coding, and security testing and auditing. Students will learn how cryptographic algorithms work and applications of cryptography in secure software design. Students will write and analyze code that demonstrates specific security development techniques. Prerequisites: Graduate or blended students in the School of Engineering and Computer Science and COMP 157 with a “C“ or better.

COMP 271. Vulnerabilities. 3 Units.

In this course, students will systematically study the fundamental principles of computer system security. Students will learn to identify vulnerabilities in computer systems and mitigate them. The course takes a practical approach to information security by focusing on real-world examples and hands-on lab activities. Prerequisites: Graduate or blended students in the School of Engineering and Computer Science, and ECPE 170 or COMP 173 with a “C” or better.

COMP 272. Software Reverse Engineering. 3 Units.

The objective of this course is to familiarize students with the practice of reverse engineering programs where the source code is unavailable. By this process, students can discover the specification for a given software program, thereby understanding its operation as well as any data it uses or communication protocols it employs. This knowledge is valuable for identifying and neutralizing malware on a system or discovering software vulnerabilities and patching them during the course of a security audit. Prerequisites: Graduate or blended students in the School of Engineering and Computer Science, and COMP 173 or ECPE 170 with a “C” or better.

COMP 277. Advanced Computer Networking. 3 Units.

The modern Internet is a communications system of global scale and high complexity. In this course, students will study the technological underpinnings that enable modern network communication, including routing, network, and application-layer protocols. Wired, wireless, and cellular networks will be examined. The course will include a laboratory, with emphasis placed on determining the current state of a network through network mapping, traffic analysis, and protocol analysis. Prerequisites: Graduate or blended students in the School of Engineering and Computer Science, and COMP 177 or ECPE 177 with a “C” or better.

COMP 278. Cyber Defense and Offense. 3 Units.

This course offers a comprehensive study of the principles and practices of computer system security including operating system security, network security, software security, and web security. Students will learn common threats and vulnerabilities, along with basic principles and techniques when designing a secure system. Hands-on labs will help students gain an understanding on how to think like an adversary, how modern cyber-attacks and defenses work in practice, and how to assess threats and protection mechanisms. Prerequisites: Graduate or blended students in the School of Engineering and Computer Science, and ECPE 170 or COMP 173 with a “C” or better.

COMP 291. Graduate Independent Study. 1-4 Units.

Special individual projects are undertaken under the direction of one or more faculty. Prerequisite: Graduate or blended students in the School of Engineering and Computer Science or permission of instructor.

COMP 293. Special Topics. 1-4 Units.

Special courses are organized and offered from time to time to meet the needs or interests of a group of students. Prerequisite: Graduate or blended students in the School of Engineering and Computer Science or permission of the instructor.

COMP 297. Graduate Research. 1-4 Units.

Applied or basic research in engineering or computer science under faculty supervision. Approval by the faculty supervisor and the department chairperson is required. Prerequisite: Graduate or blended students in the School of Engineering and Computer Science or permission of instructor.

COMP 297D. Graduate Research. 1-4 Units.

COMP 297E. Graduate Research. 1-4 Units.

COMP 297F. Graduate Research. 1-4 Units.

COMP 297G. Graduate Research. 1-4 Units.

COMP 299. Thesis. 1-6 Units.

Minimum of six units is required for Thesis Option students. Prerequisites: Graduate or blended students in the School of Engineering and Computer Science and permission of the research advisor.

Electrcl & Computer Engr Courses

ECPE 121. Digital Signal Processing. 4 Units.

Students analyze discrete-time signals and systems using z transforms and Fourier transforms, the fast Fourier transform and its applications, digital filters and their applications and implementation of DSP algorithms using Matlab and Simulink. Prerequisites: ECPE 041 and MATH 057 with a “C-“ or better.

ECPE 124. Digital Image Processing. 4 Units.

This course is the analysis and design of algorithms in digital image processing. Topics include: image formation, file format, pixel-based processing, object recognition, filtering and edge detection, image transforms, segmentation, stereo-vision, and motion tracking. Prerequisites: COMP 053, ECPE 121 with a “C-“ or better. Prerequisite that may be taken concurrently: ECPE 121.

ECPE 127. Random Signals. 3 Units.

This course is an introduction to probability and statistics in engineering applications. Students will become familiar with discrete and continuous random variables and their probability models. Topics include counting methods, reliability problems, probability mass functions (PMF), probability density functions (PDF), cumulative distribution functions (CDF), conditional PDF’s, expected value and variance, joint and marginal PDF’s and CDF’s, functions of two random variables. Prerequisites: Completion of all Fundamental Skills, MATH 055 with a “C-“ or better.

ECPE 131. Electronics. 3 Units.

This course introduces students to semiconductor physics. Topics include modeling, analysis, and simulation of analog and digital circuits containing diodes, bipolar junction transistors, and MOSFETs. Other topics include analysis and design of single stage amplifiers, frequency response of amplifiers, gain, bandwidth, DC biasing, and small signal analysis of amplifiers. Prerequisites: Completion of all Fundamental Skills; ECPE 041, ECPE 041L, ECPE 071, ECPE 071L, MATH 055, PHYS 055, with a "C-" or better; AP CHEM with score of 4 or higher, or IB CHEM Higher Level with score of 5 or higher, one year of high school chemistry with a “B-” or better, appropriate score on the Pacific Diagnostic Chemistry test or CHEM 023 with a "C-" or better. Corequisite: ECPE 131L.

ECPE 131L. Electronics Lab. 1 Unit.

Students examine the use of standard electronic test equipment and simulation tools to analyze, design, and test electronic circuits. Emphasis on analog circuits. Prerequisites: Completion of all Fundamental Skills. Corequisite: ECPE 131.

ECPE 133. Solid State Devices. 4 Units.

This course introduces concepts related to the crystal structure of semiconductors and electronic, optical, and magnetic properties of semiconductors. Dynamics of carriers under equilibrium and non-equilibrium conditions are presented as a frame work for understanding the behavior of a number of devices including Metal-Oxide-Semiconductor (MOS) and Hetero-junction Bipolar (HBT) devices. On such a background, the course builds an understanding of the latest advances in the field. This course is cross listed with EPHY 133 and PHYS 170. Prerequisite: PHYS 055 with a “C-“ or better. Prerequisite that may be taken concurrently: MATH 057 with a “C-“ or better.

ECPE 135. Power Electronics. 4 Units.

Switch-Mode DC-DC converters, Feedback control of converters, Rectifiers and power factor correction circuits, switch mode DC power supplies, applications to motor control and renewable energy integration to the grid. Includes laboratory. Prerequisites: Completion of all Fundamental Skills; ECPE 131 and ECPE 131L with a "C-" or better. Prerequisite may be taken concurrently: ECPE 121 with a "C-" or better.

ECPE 136. VLSI Design. 4 Units.

Students examine issues in VLSI design. Topics include logic families, sizing, timing models, fabrication, layout, high speed and low power design tradeoffs, circuit simulation and device modeling. Prerequisites: Completion of all Fundamental Skills; ECPE 071, ECPE 071L, ECPE 131, ECPE 131L with a "C-" or better. (Spring odd years).

ECPE 141. Advanced Circuits. 4 Units.

Analysis and design of circuits in the continuous time domain. Topics include: frequency response, Laplace transforms, Fourier transforms, stability and feedback. Applications include high-order filter design and controls. Prerequisites: ECPE 041, ECPE 041L, and MATH 057 with a "C-" or better.

ECPE 144. Applied Electromagnetics. 4 Units.

The purpose of this course is for students to gain an understanding of transmission lines and field theory as it applies to communication circuits and systems. Electromagnetic wave propagation, reflection, and transmission through common materials are examined. This course is cross listed with EPHY 144. Prerequisites: Completion of all Fundamental Skills; PHYS 055, MATH 057, with a "C-" or better.

ECPE 155. Autonomous Robotics. 4 Units.

This course is an overview of the design of autonomous robotics. Students study architectures for robot organization and control, configurations of fixed and mobile robots, sensors and actuators. Students also study the design of algorithms and knowledge representations. Prerequisites: Completion of all Fundamental Skills; COMP 053 and ECPE 172 with a "C-" or better or permission of instructor.

ECPE 161. Automatic Control Systems. 4 Units.

Students study component and system transfer functions, open and closed loop response; stability criteria; applications to engineering systems. this course include a laboratory. Prerequisites: Completion of all Fundamental Skills; Prerequisite that may be taken concurrently: ECPE 121 or ECPE 141.

ECPE 162. Communication Systems. 4 Units.

Students examine signal characterization in time and frequency domains. Topics include baseband communication, pulse code modulation, multiplexing, complex envelope representation of bandpass signals. AM, FM, and digital modulations. Students also examine applications to radio, television, telephone, and cellular phone systems. A laboratory is included. Prerequisites: Completion of all Fundamental Skills and ECPE 121 with a "C-" or better. (Spring).

ECPE 163. Energy Conversion. 4 Units.

Students study three phase power systems. Topics include magnetic circuits, transformers, rotating machines: DC, induction, and synchronous machines as well as equivalent circuits and characteristic curves of transformers and rotating machines, renewable energy sources and technologies. the course includes a laboratory. Prerequisites: Completion of all Fundamental Skills; ECPE 041 and ECPE 041L; PHYS 055 with a "C-" or better.

ECPE 165. Power System Analysis. 3 Units.

Students study electrical power generation and transmission, Three-phase systems, power system component models, per-unit system and single line diagrams, power flow analysis. Prerequisites: Completion of all Fundamental Skills and ECPE 041 with a "C-" or better. Junior standing.

ECPE 170. Computer Systems and Networks. 4 Units.

This course is a comprehensive and holistic examination of the modern computing environment. Students gain an understanding of the various hardware and software components that enable computers and networks to process information and execute applications. Students learn to apply this knowledge in the development of efficient and robust software applications. Prerequisites: Completion of all Fundamental Skills; ECPE 071, COMP 053 with a "C-" or better.

ECPE 172. Microcontrollers. 4 Units.

Students study the design and implementation of digital monitoring and control systems that use micro-controllers. Topics include hardware and software development, interfacing input and output devices, assembly and C programming as well as representative applications. The course includes a laboratory. Prerequisites: Completion of all Fundamental Skills; COMP 051, ECPE 071, and ECPE 071L with a "C-" or better.

ECPE 173. Computer Organization and Arch. 3 Units.

The objective of this course is to give students an understanding of how a complete modern computer system operates. Students learn about design of control, datapath and arithmetic-logic units. Other topics include pipelining, memory hierarchy and assembly language programming. Prerequisites: Completion of all Fundamental Skills; ECPE 170; ECPE 172 or ECPE 174 with a "C-" or better.

ECPE 174. Advanced Digital Design. 4 Units.

Students learn how to analysis, design, and implement synchronous state machines using programmable logic devices. Topics include CAD-based simulation and development that use schematic capture and hardware description languages, and representative applications. The course includes a laboratory. Prerequisites: Completion of all Fundamental Skills; ECPE 071 and ECPE 071L with a "C-" or better.

ECPE 177. Computer Networking. 4 Units.

Students study computer networks and the Internet. Topics include LAN and WAN architectures, packet switched networks and routing, the 7-layer OSI model and Internet protocol stack, socket programming and client/server systems as well as wireless security. The course includes a laboratory. Also listed as COMP 177. Prerequisites: Completion of all Fundamental Skills; COMP 053 and ECPE 170 with a "C-" or better. Junior or Senior standing.

ECPE 178. Computer Network Security. 3 Units.

This course is an examination of the pervasive security threats related to the Internet, data communications and networking. Topics include TCP/IP protocols, authentication, encryption, malware, cybercrime, and social engineering. Emphasis is on computer and network attack methods, their detection, prevention and analysis, and the integration of the tools and techniques employed in this effort. Includes lab. Prerequisites: Completion of all Fundamental Skills and ECPE 170 or COMP 175 with a “C-“ or better.

ECPE 191. Independent Study. 1-4 Units.

Special individual projects are undertaken under the direction of one or more faculty members knowledgeable in the particular field of study. Permission of department chairperson and faculty members involved.

ECPE 195. Senior Project I. 2 Units.

This first semester capstone design course instructs students in the application of design processes and interdisciplinary teamwork. Student teams select a project and develop requirements, test, and design documents. Projects incorporate consideration of engineering standards and realistic constraints such as economics, the environment, sustainability, manufacturability, or safety. Components are evaluated and selected. Feasibility is analyzed through prototyping or simulation and results are presented via oral and written reports. This course is cross listed with EPHY 195. Prerequisites: Completion of all Fundamental Skills; ECPE 131 and ECPE 131L; ECPE 121, ECPE 141, ECPE 172 or ECPE 174 with a “C-“ or better.

ECPE 196. Senior Project II. 2 Units.

This second-semester capstone design course, interdisciplinary teams complete the design of their projects. Full implementation is completed, including iteration, optimization, and refinement; justifications for design decisions are analyzed. Testing is performed and results are evaluated to demonstrate satisfaction of specifications. Final oral and written reports, complete documentation, and a project demonstration are required. This course is cross listed with EPHY 196. Prerequisites: Completion of all Fundamental Skills; ECPE 195 with a "C-" or better.

ECPE 197. Undergraduate Research. 1-4 Units.

This course offers applied or basic research in electrical and/or computer engineering under faculty supervision. Permission of faculty supervisor and department chair. The student must be in good academic standing.

ECPE 225. Digital Signal Processing with Applications. 3 Units.

Topics include discrete time signals, systems, spectral analysis (DTFT), the Discrete Fourier Transform and the Fast Fourier Transform algorithm, decimation and interpolation, multi-rate signal procession, and filtering random signals. Additional course content is speech processing, speech models and characteristics, short time Fourier analysis, linear predictive coding. Image processing: 2D signals and systems, image coding, image enhancement is also addressed. Prerequisites: ECPE 121 with a "C" or better or equivalent and Graduate or blended students in the School of Engineering and Computer Science or permission of instructor.

ECPE 226. Computational Intelligence. 3 Units.

This course takes a mathematical approach to address the learning theory. Students will also learn the applications of computational intelligence by applying the techniques learned in the course to real world data sets. Topics include types of learning, theory of generalization, PAC model, growth function, break points, VC dimension, generalization trade-off, linear and logistic regression, non-linear transformation, fundamentals of neural networks, foundations of fuzzy approaches, support vector machines, and swarms. Familiarity with basics in linear algebra, probability, and analysis of algorithms recommended. Prerequisite: Graduate or blended students in the School of Engineering and Computer Science.

ECPE 233. Quantum and Nano Devices. 3 Units.

Students study advanced topics related to recent development of the emerging field of nanoelectronics where the feature lengths of the electron devices are of the order of several nanometers. They also study transport phenomenon in nano-structures that use a quantum atomistic transport approach. Topics include: quantum confined effects, nanofabrication, quantum wells, quantum wires, quantum dots, and quantum optoelectronic devices. The purpose of this course is to prepare the framework for analyzing, modeling, and designing of these non-scale electron devices. Prerequisites: familiarity with MATLAB, light familiarity with physics of semiconductor devices, light exposure to quantum physics, ability to solve second order differential equations, and an exposure to complex analysis, Graduate or blended students in the School of Engineering and Computer Science or permission of the instructor.

ECPE 251. High-Performance Computing. 3 Units.

This course investigates modern HPC systems and architectures including multiprocessor clusters, General-Purpose Graphical Processing Units (GP-GPUs), and Xeon Phi co-processors. Students develop effective parallel programs by applying parallel programming principles, parallelism models, and communication models. Topics include: taxonomy of parallel machines, supercomputer topology, shared memory systems, OpenMP, distributed systems, message passing interface, CPU architecture, compute unified device architecture, HPC performance modeling. Prerequisite: Graduate or blended student in the School of Engineering and Computer Science and ECPE 170 with a "C" or better.

ECPE 253. Advanced Computer Graphics. 3 Units.

Students study advanced topics in computer-generated graphics such as procedural modeling, surface simplification, shaders, texture synthesis and mapping, volume rendering, ray tracing, photon mapping, image-based rendering techniques, non-photorealistic rendering, 3D hardware/GPUs and animation. Course includes programming projects and presentation of research topics. Prerequisites: COMP 153 or ECPE 153 with a "C" or better, C programming experience (C++ or Java is acceptable, but students are expected to program in C), Graduate or blended students in the School of Engineering and Computer Science or permission of the instructor.

ECPE 255. Robotics. 3 Units.

This course explores high-level issues of autonomous robotics. The course will focus on theory, design, and implementation of making intelligent and autonomous robots. The course will examine these topics from the perspective of individual robots, swarm robots, and multi-agent robots. Students will learn both theory and practice through simulations and work on robot platforms. Prerequisites: ECPE 170 or ECPE 172 or MECH 104 with a “C“ or better and Graduate or blended students in the School of Engineering and Computer Science.

ECPE 259. Sensor Networks for Engineering Systems. 3 Units.

This course introduces sensor networks for infrastructure systems from sensor selection, system design, implementation, acquisition, and analysis. Examination of application across multiple engineering disciplines. Project based components with laboratory. Prerequisites: ECPE 131, ECPE 121; or ENGR 019, ENGR 121; or COMP 055, COMP 157 with a "C" or better; Graduate or blended students in the School of Engineering and Computer Science; or permission of instructor.

ECPE 263. Recent Topics in Renewable Energy. 3 Units.

Recent Trends in global warming and the rising cost of energy has resulted in significant interest in renewable energy sources that include solar thermal, solar photovoltaics, hydrogen fuel cells, biomass, geothermal, wind, hydraulic, and hybrid technologies. This course is a survey of these energy sources and covers the theory, economic feasibility, current level of technological development, renewability, abundance, and environmental impacts of the renewable sources and compares them to the non-renewable sources which include oil, gas, coal, nuclear, and other current energy technologies. The emphasis is given to research in these fields by the students' term papers and projects. Prerequisite: Graduate or blended students in the School of Engineering and Computer Science or permission of instructor.

ECPE 276. Cloud Computing. 3 Units.

Cloud computing has become mainstream in the field of information technology, providing highly scalable computing resources for applications with no up-front capital investment and operating costs proportional to the actual use. Students will study the technological underpinnings that enable modern cloud computing, including virtualization technology, datacenter networks, programming models, and middleware systems. This course will provide a survey of current research focused on improving the performance, security, fault-tolerance, and energy efficiency of cloud computing systems. Further, students will utilize these cloud computing technologies as application programmers to construct distributed large-scale data processing systems. Prerequisites: Graduate or blended students in the School of Engineering and Computer Science and ECPE 170 with a "C" or better.

ECPE 291. Graduate Independent Study. 1-4 Units.

Special individual projects are undertaken under the direction of one or more faculty. Prerequisite: Graduate or blended students in the School of Engineering and Computer Science or permission of instructor.

ECPE 293. Special Topics. 1-4 Units.

Special courses are organized and offered from time to time to meet the needs or interests of a group of students. Prerequisite: Graduate or blended students in the School of Engineering and Computer Science or permission of the instructor.

ECPE 297. Graduate Research. 1-4 Units.

ECPE 299. Thesis. 1-6 Units.

Minimum of six units is required for Thesis Option students. Prerequisites: Graduate or blended students in the School of Engineering and Computer Science and permission of the research advisor.

Graduates in the MSCS program will be assessed on the following specific competencies. These are the competencies that a successful graduate of the program will be expected to have achieved at the time of graduation:

  • Program Learning Objective 1: Employ problem-solving, design, and research skills necessary to operate in the interdisciplinary field of computer science.
  • Program Learning Objective 2: Engage in intellectual inquiry and learn to address new challenges in computer science.