Required Courses

Students are required to take a total of 30 units of coursework, spread across 3 categories: core courses, breadth/depth courses and research/project courses.

This course covers advanced topics in software engineering, emphasizing the design, development, testing, and maintenance of large-scale software systems. Students will explore agile methodologies, software lifecycle models, risk management, and project management techniques. The course includes real-world case studies and collaborative projects to demonstrate best practices and innovations in software development. (3 units)

This course delves into the architecture, design, and analysis of modern computer networks, with a focus on network protocols, performance, and security. Topics include network routing, switching, congestion control, and quality of service (QoS) in wired and wireless environments. Emphasis will be placed on next-generation networks. (3 units)

This course explores advanced techniques for designing and analyzing algorithms. Topics include approximation algorithms, randomized algorithms, dynamic programming, amortized analysis, and algorithms for NP-complete problems. Emphasis is placed on both theoretical analysis and practical implementation of algorithms across various application domains. (3 units)

This course provides an in-depth examination of modern computer architectures. Topics include pipelining, superscalar architectures, out-of-order execution, memory hierarchy, multi-core processors, and parallelism. The course also addresses the challenges in designing energy-efficient and high-performance systems and includes hands-on projects analyzing real-world processor designs. (3 units)

 

Students must take 4 core courses (12 units total), which can be taken from a single breadth/depth area, or across any combination of breadth/depth areas:

This course provides an in-depth look into the fundamentals of packet-switched network traffic analysis at the network layer and above as applied to problems in traffic engineering, economics, security, etc. The course will explore the design and integration of analytic tools and techniques into the fabric of the network including: spatial and temporal anomaly detection, origin-destination matrix estimation, application mix determination, deep-packet inspection, fingerprinting, intrusion detection and insider threat mitigation. Finally, the course covers active defense and offensive methods reliant on traffic analysis. Contains a lab component. Prerequisite: CSC 431. (3 units; Spring)

InstructorStart DateDaysTimeLocation

This course provides an in-depth look to define the nature and scope of cyber security incident handling services, including intrusion/incident detection, damage control, service continuity, forensic analysis, service/data restoration, and incident reporting. Material covers policy, planning, operations, and technology issues involved in related cyber incident handling plans; i.e., Business Continuity, Disaster Recovery, and Continuity of Operations. Specific incident types addressed include, natural disasters, denial of service, malicious code, malicious misuse of hardware and firmware, unauthorized access, data compromise and inappropriate use, including insider attacks. Emphasis is given to the detection and analysis of infiltration and exfiltration techniques employed during cyber attacks, thus enabling the incident handler to detect low noise attacks, and to deconstruct particularly insidious attacks. Contains a lab component. Prerequisite: CSC 431 (3 units; Fall)

InstructorStart DateDaysTimeLocation

This course provides an advanced course that focuses on key principles of a constructive approach to secure systems. A brief review of operating systems and computer architecture is provided. Major topics include threat characterization and subversion; confinement; fundamental abstractions, principles, and mechanisms, such as reduced complexity, hierarchical relationships, least privilege, hardware protection, resource management and virtualization, software security, secure system composition, mutual suspicion, synchronization, covert and side-channel analysis, secure metadata, secure operational states, usability, and life cycle assurance. Current developments will include advances in security hardware, components, and systems. This course has heavy reliance on software development and implementation. Prerequisite: CSC 431. (3 units; Spring)

InstructorStart DateDaysTimeLocation

This course provides an introduction to the design, implementation, evaluation and theoretical description of algorithms. Classic algorithms for sorting, searching, graph traversal and other fundamental tasks will be implemented, tested and evaluated. More advanced topics such as problem reductions, hard problems and complexity will be explored. Students will develop experience at selecting and applying algorithms to specific problems. (2 units; Fall)

InstructorStart DateDaysTimeLocation

 

Investigation of modern cloud computing platforms and the practice of creating scalable software solutions that utilize essential cloud computing products like serverless computing, serverless key-value NOSQL databases, cloud storage, publisher/subscriber messaging, identity access and permissions management, machine learning (ML) integration, etc. Prerequisite: EGR 226. (3 units; Spring)

InstructorStart DateDaysTimeLocation
CSC323-A
Suitt, Doug A.
01/13/2025 M 2:30 PM - 5:30 PM Engineering 104

This course is an introduction to all areas of modern image processing. Image formation and capture, display and compression will be covered. Algorithms from single-pixel and neighborhood operations to higher-level functionalities such as object recognition and scene understanding. Extensions to color and 3D imaging will be discussed. Several projects will offer students the opportunity to learn key topics in detail. (3 units; Spring)

InstructorStart DateDaysTimeLocation

 

This course covers introductory machine learning topics including supervised and unsupervised learning, linear and logistic regression, support vector machines, neural networks (MLPs, CNNs, RNNs, GANs) and more. Coursework includes instruction and programming assignments in algorithmic implementations and high-level library usage. Students also apply machine learning techniques to a unique research project. Prerequisites: EGR 120 or 121, and one of the following: EGR 305, MAT 353, STA 144, 310, or one additional approved statistic course. (3 units; Fall)

InstructorStart DateDaysTimeLocation

The course commences with an examination of the knowledge discovery process. In particular, the introduction equips students with the strategic thinking skills essential to focus on cutting edge data mining techniques that can be applied in a wide variety of settings, e.g., business, engineering, health care, science, etc. Traditional topics include data mining algorithms and implementation issues, advantages and disadvantages of data mining, and examples of knowledge engineering. Current topics such as ubiquitous, distributed, and spatiotemporal geographic data mining will also be explored. This is a practical hands-on course that culminates in a real-world project implemented via open source tools. Prerequisites: EGR 120 or 121, and one of the following: EGR 305, MAT 353, STA 144, 310, or one additional approved statistics course. (3 units; Fall)

InstructorStart DateDaysTimeLocation

Natural language is ubiquitous, e.g., humans speak and write to communicate, to transfer information, and to document knowledge. Natural Language Processing (NLP) is an integral component in countless information systems requiring advanced manipulation of natural language. In this class, students will be introduced to NLP starting with the concept of understanding words in context and the need for natural language processing in the business environment. The discussion continues with a detailed study of words and is a foundational framework supporting phonetics and speech synthesis. Subsequent topics include concepts of how words are grouped together to form unique grammatical units. The last part of the course, explores solving real-world NLP problems and deals with two key areas: corpus building, feature engineering, and application development. Course material is presented via theory-based lectures, group discussion, and practical labs-a culminating research project will be individually crafted. Prerequisites: EGR 120 or 121, and one of the following: EGR 305, MAT 353, STA 144, 310, or one additional approved statistics course. (3 units; Spring)

InstructorStart DateDaysTimeLocation
CSC424-B
Corso, Anthony J.
01/13/2025 WF 8:15 AM - 9:15 AM Engineering ONLN

This course explores advanced topics in computer vision, focusing on the theory and application of image processing, pattern recognition, and visual data interpretation. Students will study key algorithms and techniques such as object detection, segmentation, feature extraction, and deep learning models for visual data analysis. (3 units)

 

This course provides the tools to create and critically evaluate data visualizations. Focus will be on statistical graphics, graphics that display statistical data. Additionally, recent advances in the field of information visualization will be covered. Prerequisite: STA 144 or MAT 245. (3 units; Spring, even years)

InstructorStart DateDaysTimeLocation

A course to introduce statistical models of advanced least squares regression and standard ANOVA techniques and extensions to categorical data. Students will conceptually understand linear mixed effects models, log linear and generalized linear models for count data; and survival models for the analysis of lifetime data. In addition, students will apply these models to real data, to discern patterns and conclusions, and present their results. Prerequisite: STA 210, EGR 120, or 121. (3 units; Fall, even years)

InstructorStart DateDaysTimeLocation
STA362-A
Noh, Heewon Esther_AKA:_Esther_L
09/03/2024 TTh 2:00 PM - 3:30 PM Park Building 253

A course in application of parametric and nonparametric single and multivariable data analytic techniques to sports. Topics will include: linear regression, correlation, confounding and interactions, variable selection, categorical predictors and outcomes, logistic regression, factor analysis, discriminant analysis, and regression techniques with longitudinal data. Prerequisite: STA 210, EGR 120, or 121. (3 units; Spring, odd years)

InstructorStart DateDaysTimeLocation
STA364-A
Noh, Heewon Esther_AKA:_Esther_L
01/13/2025 TTh 10:30 AM - 12:00 PM James Complex 375

This course covers the tools, techniques, and methodologies for managing and analyzing large-scale datasets. Students will learn about distributed data storage systems, such as Hadoop and Spark, and techniques for efficient data processing and analysis. Topics include data visualization, data mining, machine learning applications, and scalable algorithm design. (3 units)

Students must take both research and project courses (6 units total), including:

This course introduces students to advanced research methodologies and project design principles in computer science. Topics include hypothesis formulation, literature review, research ethics, experimental design, and technical writing. Students will develop proposals and prepare for their capstone projects. (3 units)

In this course, students will apply their knowledge and skills to complete a significant, hands-on project. Projects may include the development of a software application, research-based solutions to real-world problems, or collaboration with industry partners. The course emphasizes project management, implementation, and the presentation of results. (3 units)

 

Additional Requirements

In addition to the 30 hours of curriculum requirements, students will be required to attend colloquium meetings throughout each semester in which they are enrolled. Colloquiums are expected to occur once every 3-4 weeks (roughly once a month). Colloquiums are designed to expose students to speakers performing relevant research and development in their field.

Pre-requisites

  • EGR 2270 - Data Structures and Analysis (or similar) OR CSC 3120 – Algorithms (or similar)
    • For CSC 5020 - Advanced Computer Networks
  • EGR 3290 - Computer Architecture (or similar)
    • For CSC 5040 - Advanced Computer Architecture
  • STA 3100 - Math Statistics I (or similar, potentially more rudimentary like STA 144)
    • For CSC 4220/4230/4240 and STA courses

Students must have coursework in computer programming and/or able to demonstrate significant coding capacity through industry experience, coding bootcamps, etc. In the case where no formal coursework in computer programming is evident on a transcript, the department chair or program director will ascertain proficiency or pre-requisite coursework for acceptance into the program.


*Curriculum subject to change. Please refer to the current catalog for more information.