Master of Science in Computer Science

https://engineering.pacific.edu/engineering/academics/MSCS

Degrees Offered

Master of Science in Computer Science

The Master of Science in Computer Science (MSCS) is designed to strengthen students' technical, analytical, and professional breadth and depth. Students learn techniques and best practices of professional research, develop habits of independent thinking, and establish the intellectual foundations for achieving excellence in the field of computer science.

Graduates of the MSCS program in the School of Engineering and Computer Science should exhibit the following program learning outcomes:

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

Accelerated BSCS/MSCS Program

The Accelerated BSCS/MSCS Program provides an excellent opportunity for students to begin their graduate work while they complete their undergraduate degree requirements. Students can pursue the Accelerated Program that allows them to complete their bachelors and master's degree in as little as four years. This four-year period may include some summer sessions and/or advanced placement units that were earned prior to starting at Pacific.

Students would begin by enrolling in an undergraduate program in the Pacific SOECS. Following acceptance into the Accelerated Program, students may begin taking graduate level courses to blend the bachelors and master's degrees together. The two degrees are awarded on the same date.

Accelerated Program Admission Criteria
High School students with a GPA of 3.8 or higher may be admitted directly into the Accelerated BSCS/MSCS program to begin their first semester at Pacific. Continuing Pacific students may be admitted to the Accelerated BSCS/MSCS program between the SECOND and THIRD years with a Pacific GPA of 3.5 or higher. Once admitted to the Accelerated BSCS/MSCS program students may begin taking graduate level courses and must maintain a GPA of 3.3 or higher to remain in the program. Students who choose to withdraw from the program prior to completing all the requirements may be awarded the Bachelor of Science degree alone, contingent upon having completed all of the respective program requirements, which may include the co-op experience.

Master of Science in Computer Science

To earn the Master of Science in Computer Science degree students must complete a minimum of 30 units with a Pacific cumulative grade point average of 3.0, in addition to the 120 units required for a BS degree. COMP 141, COMP 147, COMP 157, ECPE 170, and COMP 173 may be taken to satisfy requirements for both the BS and MSCS degrees, however the units for these courses may only be applied to the 120 units for the BS degree. Credit for COMP 141, COMP 147, COMP 157, and ECPE 170 or COMP 173 must be earned to satisfy the requirements for the MSCS degree, but the units for these courses may not be applied towards the 30 units required to complete the MSCS degree.

Academic Policies for Master of Science in Computer Science

I. Engineering and Computer Science Prerequisite Requirement

All course prerequisites in the MS in Computer Science program must be passed with a grade of C or higher.

II. Courses Taken Pass/No Credit

All courses that count toward the MS in Computer Science must be taken for a letter grade.

III. Graduate Independent Studies

Students who have an interest in a subject not offered as a regular course and who, by their overall performance at Pacific, have proven their ability to do independent work, may consider enrolling in a graduate independent study. The qualified student should initiate discussions with his/her advisor and with a professor who is knowledgeable in the subject. If both parties are in agreement, the student must complete the Individualized Study Form and submit it to the instructor and Office of the Registrar prior to the last day to add (see University Academic Calendar). Students on academic probation are not permitted to enroll in independent study courses in any department of the University. The following School of Engineering and Computer Science policies apply:

  1. The course(s) may not be substituted for a regularly scheduled course unless approved by the department.
  2. If the course is to be used as an elective, approval by the student's advisor and the department chairperson is required.
  3. All courses must be taken for a letter grade; the pass/no credit option is not allowed for independent study courses.
  4. Each course may be taken for one (1), two (2), three (3), or four (4) units. The unit value for the course is established between the student and the professor responsible for the course. The student's advisor should be informed of this decision.

IV. Course Substitutions

A maximum of six units of approved advanced undergraduate courses (100 level) can count towards the 30 units required for the MS in Computer Science.

Undergraduate Core Courses (may be satisfied through courses taken for a BS degree)
COMP 141Programming Languages4
COMP 147Computing Theory4
COMP 157Design and Analysis of Algorithms4
Select one of the following:
Computer Systems and Networks
Operating Systems
Required Graduate Course
ENGR 201Techniques in Research3
Graduate Computer Science Electives12
Twelve units of COMP courses at the 200 level
Computational Electives6
Six units of COMP, ECPE, or MATH courses at the 100 or 200 level *
Graduate Electives9
Nine units of courses at the 200 or 300 level
*

COMP 141, COMP 147, COMP 157, COMP 173, ECPE 170, MATH 161, MATH 162, and MATH 166 may
not count as Computational Electives.

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, every year).

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, every year).

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, every year).

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.

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.

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, even years).

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.

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, every year).

COMP 173. Operating Systems. 4 Units.

Students are introduced to the fundamental concepts of modern operating systems. Topics include an overview of computer architecture and organization, 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 parallel and distributed computing. Prerequisites: Completion of all Fundamental Skills; COMP 053; COMP 175 or ECPE 170 with a "C-" or better or permission of instructor.

COMP 175. System Administration and Security. 3 Units.

This course provides an introduction to system administration of modern network servers and applications. Techniques to provide for data confidentiality, integrity, and availability are presented, both at the network security level and host security level, in order to resist common attacks and vulnerabilities. Topics include virtualization methods, resource provisioning in a cloud environment, command-line usage, installation and configuration of common network applications, containerized application deployment, password security and auditing, network configuration and firewalls, scripting, change management, and IT automation tools. Prerequisites: Completion of all fundamental skills and familiarity with console-based operating systems commands. Junior Standing.

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 internet protocol stack, socket programming and client/server systems, wireless networking and security. 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 computer security from a defensive and offensive perspective. Topics include attack methods used by threat actors (including scanning, exploits, privilege escalation, malware, and social engineering methods), their detection, and their prevention by network and host-based techniques. Additionally, cryptographic techniques are introduced in order to provide secure communications channels that guarantee message confidentiality, authenticity, and integrity. Prerequisites: Completion of all Fundamental Skills and ECPE 170 or COMP 175 with a “C-“ or better.

COMP 180. Fundamentals of Computer Science. 3 Units.

The course emphasizes program design and problem solving techniques that use a high-level programming language. The course introduces basic concepts of programming and then applies them to discrete math concepts and data structures through supervised labs. Credit will not be given for this course if a student has received credit for COMP 051, COMP 061, COMP 053, COMP 047, or ENGR 019.

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 227. Web Development. 3 Units.

This course is about the principles and techniques for designing and developing web applications. Topics include web application design, client-side web programming, and server-side web programming. Students are expected to read online resources and apply techniques to develop a website from scratch. Prerequisites: COMP 141 with a "C" or better and graduate or blended students in the School of Engineering and Computer Science or instructor approval.

COMP 229. Advanced Software Engineering. 3 Units.

Students gain practical experience in dealing with existing software systems. Students learn how existing software engineering practices are used to develop the abstractions necessary to understand and work with such systems. Students also learn how such methodologies and abstractions are used to communicate in a distributed environment with coworkers and clients surrounding the ideation, analysis, design and maintenance of systems. Because communication is an essential skill in large system development, students are expected to produce documents and presentations of professional quality and depth that can function in a remote working environment. Prerequisites: COMP 141 and COMP 157 with a "C" or better and graduate students in the School of Engineering and Computer Science or instructor approval.

COMP 235. Interaction Design. 3 Units.

Interaction Design focuses on the relationship between humans and the use of interactive software applications and other physical devices. This course helps students develop an understanding of the common problems in designing interfaces for apps and devices and presents design and evaluation techniques to ensure that products are both useful and usable.

COMP 241. Programming Language Semantics. 3 Units.

This course studies the foundations of programming languages by exploring the static and dynamic language semantics from a theoretical perspective. Formal techniques are used to specify programming language semantics and the associated provable guarantees that these specifications provide. Prerequisites: COMP 141 and COMP 147 with a "C" or better and Graduate or blended students in the School of Engineering and Computer Science or instructor approval.

COMP 251. Machine Learning. 3 Units.

This course introduces concepts of machine learning and statistical pattern recognition at the graduate level. The course covers topics such as linear and logistic regression, classification, clustering, model validation, support vector machines, neural networks, and decision trees. Data wrangling methods and dimensionality reduction are also examined. Prerequisites: COMP 157 with a "C" or better and graduate 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 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 254. Advanced Graphics Programming. 3 Units.

This course provides a survey of advanced topics in computer graphics. Students will complete several Web-based 3D graphics programming projects, and explore a contemporary research topic related to computer graphics. Prerequisites: COMP 141, COMP 157, and ENGR 201 with a "C" or better and graduate or blended students in the School of Engineering and Computer Science or instructor approval.

COMP 257. Advanced Algorithms. 3 Units.

This course will cover the fundamentals of algorithm design. We will discuss some basic paradigms for reasoning about algorithms and their asymptotic complexity and survey many of the techniques that apply broadly in the design of efficient algorithms. Prerequisites: COMP 157 with a “C" or better and graduate or blended students in the School of Engineering and Computer Science or instructor approval.

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

This course develops the skills and techniques required for the creation of serious games. Serious games are games that have an additional purpose beyond simple entertainment. Topics include understanding and evaluating the current landscape of serious games, undergoing the research to design a serious game, and 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. Prerequisites: COMP 141 and COMP 157 with a "C" or better and graduate 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 will include analysis of published research, programming assignments and an original research project/investigation. Prerequisite: Graduate 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: COMP 157 or EMGT 162 with a "C" or better and graduate students in the School of Engineering and Computer Science or instructor approval.

COMP 270. Secure Software Systems. 3 Units.

In this course, students will study best practices for secure software development. Topics will include software security requirements, compliance requirements, misuse and abuse cases, security design principles, secure software architecture and design, secure coding practices, cryptography, code analysis for risks, software testing, lifecycle management, deployment, operations, and supply chain security. Prerequisites: Graduate or blended students in the School of Engineering and Computer Science.

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 COMP 280 or 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 280 or COMP 173 or ECPE 170 with a “C” or better.

COMP 274. Reliable Software Design. 3 Units.

With the technological advancements, critical systems (e.g., in the aerospace industry, healthcare industry, etc.) are being deployed and used in a widespread fashion. This trend, along with the increasing complexity of such systems, necessitate their software components to provide guaranteed reliability and assurance. This course introduces a mathematical foundation for rigorous analysis of computer programs by exploring the logical underpinnings and the tools that are used to reason about program correctness in order to develop high quality and robust software. In this course, students engage in developing programs that formally define system constructs, specifying the properties of interest, and proving the satisfaction of those properties in the system. Prerequisites: COMP 141 and COMP 147 with a “C" or better and graduate or blended students in the School of Engineering and Computer Science or instructor approval.

COMP 275. Network Security and System Administration Essentials. 3 Units.

This course provides students with a comprehensive understanding of system administration and the technologies used to maintain confidentiality, integrity, and availability. Students will learn command-line usage, user management, database administration, fundamentals of network security, network security tools including firewalls and intrusion detection and prevention systems, and security analytics tools. Prerequisites: Graduate or blended students in the School of Engineering and Computer Science.

COMP 276. Security Operations: Incident Response and Digital Forensics. 3 Units.

This course provides students with the tools and techniques to detect and respond to data breaches and cyberattacks. Topics include an overview of incident management, incident response plans, the lifecycle of an incident, the use of digital forensics to investigate and manage an incident, forensic analysis tools, and escalation management. The course includes case studies in incident response and digital forensics. Prerequisites: Graduate or blended students in the School of Engineering and Computer Science.

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 280 or 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 COMP 280 or ECPE 170 or COMP 173 with a “C” or better.

COMP 279. Cybersecurity Advanced Topics. 3 Units.

This course covers elements of advanced topics in the field of cybersecurity, including tools and techniques for cyber offense, security information and event management, endpoint detection and security orchestration, cybersecurity analytics, API security, and development security and operations. Prerequisites: Graduate or blended students in the School of Engineering and Computer Science.

COMP 280. Cybersecurity Bootcamp. 4 Units.

The Bootcamp course provides students with the hands-on technical skills and knowledge base to succeed in the Cybersecurity graduate program. Topics covered include computer networking (both network programming and network configuration), computer operating systems, virtualization, fundamentals of cybersecurity, and cybersecurity current events. Prerequisites: Graduate student in the Master of Science in Cybersecurity program, or permission of instructor.

COMP 282. Cybersecurity Capstone Project. 3 Units.

In this capstone design course, students synthesize their cumulative cybersecurity knowledge through the development of a computer application or system. Students will establish design objectives and criteria, analyze solution alternatives, and evaluate design performance and capabilities. Students will then implement, test and evaluate the resulting prototype system. Complete documentation is required, including oral presentations, written reports, and demonstration of the final working system. Prerequisites: Graduate student in the Master of Science in Cybersecurity program, and COMP 280 with a ‘C’ or better.

COMP 283. Vulnerability Management. 3 Units.

The process of vulnerability management is systematically studied in this course. Students will learn how to use management tools like scanners and ticketing systems, how to design, develop, and rollout systems to track the entire life cycle of vulnerabilities across an organization, and how to report and quantify vulnerabilities with metrics. Prerequisites: Graduate or blended students in the School of Engineering and Computer Science.

COMP 284. Cybersecurity Governance, Risk and Compliance. 3 Units.

This course provides the students with a high-level overview of cybersecurity governance, risk, and compliance. Students will study risk management fundamentals including assessment, NIST processes, and risk management tools, as well as the overall place of risk management in the field of cybersecurity. Governance processes and techniques will also be explored, including business impact analysis, asset management and tools, alignment of cybersecurity and business objectives, SWOT and GAP analysis, and security process maturity assessment. Prerequisites: Graduate or blended students in the School of Engineering and Computer Science.

COMP 285. Mobile and Cloud Security. 3 Units.

This course examines the architecture and security implications of cloud-based applications and mobile applications. For cloud computing, fundamental principles and common cloud-based architectures are studied, along with technical methods to secure both the cloud platform itself and data stored in cloud-based systems by applications. Fundamentals of popular industry cloud platforms such as AWS and Azure are also covered. For mobile applications, fundamental principles of mobile device and application security are studied, along with secure development for mobile applications, architectural layers of mobile device security, and testing and auditing. Prerequisites: Graduate or blended students in the School of Engineering and Computer Science.

COMP 286. Cybersecurity and Privacy Management. 3 Units.

This course provides students with a fundamental background of security strategy, policy, standards and procedures. Management-focused topics include cybersecurity awareness and education, COBIT and ISO governance principles, security programs and project management fundamentals, security metrics, and security reporting at the operational, tactical, and CISCO level. Privacy-focused topics include an introduction to privacy and its principals, privacy focused regulations and security controls, and privacy impact assessments. Includes agile programming and applications to security. Prerequisites: Graduate or blended students in the School of Engineering and Computer Science.

COMP 287. Graduate Internship. 1-4 Units.

COMP 287A. Graduate Internship. 1-4 Units.

COMP 287B. Graduate Internship. 1-4 Units.

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. 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-5 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. Also listed as BENG 121. 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, sampling distributions, population parameter estimation, hypothesis testing using statistical software. Prerequisites: Completion of all Fundamental Skills, MATH 055 with a “C-“ or better.

ECPE 131. Electronics. 4 Units.

Introduction to semiconductor physics, devices, and their circuit models. Analysis, design, implementation, testing, and verification of practical analog and digital circuits containing diodes, bipolar junction transistors, and field effect transistors. Extensive use of computer-aided analysis and design software. The course includes a laboratory. 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, or one year of high school chemistry with a “B-” or better, or appropriate score on the Pacific Diagnostic Chemistry test or CHEM 023 with a "C-" or better. Prerequisite that may be taken concurrently: ECPE 071, ECPE 071L.

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 with a "C-" or better. Prerequisites that may be taken concurrently: ECPE 121 or ECPE 141 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. (Spring odd years). Prerequisites: Completion of all Fundamental Skills; ECPE 071, ECPE 071L, ECPE 131 with a "C-" or better.

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.

The course investigates the operation of a modern computer system and its components. Students examine the processor data path and memory hierarchy by writing assembly programs and high-level simulations. The course also provides an introduction to computer networks and socket programming. Prerequisites: Completion of all Fundamental Skills; ECPE 071 or COMP 047 with a "C-" or better; 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 053, ECPE 071, and ECPE 071L with a "C-" or better.

ECPE 173. Computer Organization and Architecture. 3 Units.

The objective of this course is to give students a deeper understanding of how a complete modern computer system operates. Students learn about design of a processing unit, pipelining, memory hierarchy, parallelism, and more advanced architecture topics. Prerequisites: Completion of all Fundamental Skills; ECPE 071L and ECPE 170 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.

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 internet protocol stack, socket programming and client/server systems, wireless networking and security. Also listed as COMP 177. Junior or Senior standing. Prerequisites: Completion of all Fundamental Skills; COMP 053 and ECPE 170 with a "C-" or better.

ECPE 178. Computer Network Security. 3 Units.

This course is an examination of computer security from a defensive and offensive perspective. Topics include attack methods used by threat actors (including scanning, exploits, privilege escalation, malware, and social engineering methods), their detection, and their prevention by network and host-based techniques. Additionally, cryptographic techniques are introduced in order to provide secure communications channels that guarantee message confidentiality, authenticity, and integrity. 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. Prerequisite that may be taken concurrently: 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.

Computational intelligence is broadly defined as the concepts, models, and algorithms inspired by intelligent biological systems. Students will apply computational intelligence paradigms and techniques to real world data sets and optimization problems. Topics include types of learning, theory of generalization, linear and logistic regression, non-linear transformation, fundamentals of neural networks, evolutionary computation and optimization, fuzzy set theory and fuzzy logic, and other current topics in computational intelligence. Familiarity with basics in linear algebra, probability, and analysis of algorithms recommended. Prerequisites: 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 297D. 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.