Computer Science & Engineering (CSE)

Engineering and Computer Science Orientation
CSE 101 1 Credit/Unit

2 hours of lab

Orientation for students interested in Engineering and Computer Science. Topics include exposure to Engineering and Computer Science educational/career opportunities and challenges, with emphasis on effective planning, communication, teamwork appropriate to these career fields. [GE, SE]

Introduction to Electrical/Computing
CSE 120 5 Credits/Units

4 hours of lecture / 3 hours of lab

Prerequisite: College Trigonometry (MATH 102 or MATH 103) grade of "C" or higher

Introduction to electrical/computer science and engineering processes, principles, problem-solving techniques, and contemporary tools. Applies in-class learning to hands-on projects and explores current industry trends and implications. [GE, SE]

Introduction to C
CSE 121 5 Credits/Units

5 hours of lecture

Prerequisite: MATH& 151, ENGR 120, CSE 120, ENGR 109 or CTEC 121 (grade of "C" or higher)

Introduction to the C programming language. Emphasis on program design, verification, and testing. Programming related concepts in computer science will be covered. [GE, SE]

Discrete Structures
CSE 215 5 Credits/Units

5 hours of lecture

Prerequisite: CSE 121 and ENGR 250 (grades of "C" or higher)

Discrete structures and analysis techniques for computing by building on students' skills in programming and logic. Topics include: functions, relations and their properties; sets, sequences and tuples; probability, counting (permutations and combinations); propositional logic and logical connectives; introduction to predicate logic and its limitations; formal proof strategies (counterexample, contraposition); contradiction, recursion, computational complexity; trees, graphs and traversal strategies; modeling computation (finite state & turing machines). [GE, SE]

Introduction to Data Structures
CSE 222 5 Credits/Units

5 hours of lecture

Prerequisite: CSE 121 and CSE 224 (grades of "C" or higher)

Fundamentals of data structures and advanced programming techniques used in high-level languages such as C. Topics: trees, heaps, hash tables, sorting, searching, recursion, and algorithm analysis. [GE, SE]

Data Structures & Object-Oriented Programming
CSE 223 5 Credits/Units

5 hours of lecture

Prerequisite: CSE 215 and CSE 222 (grades of "C" or higher)

Study of data structures and the analysis of algorithms, object-oriented programming, concurrency, memory management. [GE, SE]

Programming Tools
CSE 224 5 Credits/Units

5 hours of lecture

Prerequisite: CSE 121 (grade of "C" or higher)

Study of tools and techniques that facilitate programming and debugging, including debuggers, profilers, and scripting. [GE, SE]

Digital Logic Design
CSE 250 5 Credits/Units

4 hours of lecture / 2 hours of lab

Prerequisite: CSE 120 and CSE 121 (grades of "C" or higher).

Introduction to digital logic elements, design, and analysis techniques and tools. Course labs provide hands-on design and implementation of digital systems. [GE]

Selected Topics
CSE 280 1-5 Credits/Units

2 hours of lecture

Selected topics in Computer Science & Engineering. Topics vary and course theme and content change to reflect new topics. Because the course varies in content, it is repeatable for credit. Individual topics are listed in the term class schedules. [GE]

Special Projects
CSE 290 1-5 Credits/Units

5 hours of lecture

Opportunity to plan, organize, and complete special projects approved by the department. [GE]

Software Engineering
CSE 310 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 223 (grade of "C" or higher).

Practical experience in all stages of software development lifecycle from requirement analysis to release. Topics include requirements analysis, specification, design, abstraction, programming style, testing, maintenance, communication, teamwork, and software project management, with emphasis on effective teamwork in software development. [GE]

Programming Language Design
CSE 315 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 223 (grade of "C" or higher).

Key topics in programming language design and implementation. Additionally, students evaluate three distinct programming languages based on principles and practices of programming language design. [GE]

Design & Analysis of Algorithms
CSE 320 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 223 and CSE 215 (grades of "C" or higher).

Intermediate analysis and design of algorithms with an emphasis on efficiency and effectiveness. Topics include techniques to evaluate an algorithm's efficiency and effectiveness, as well as design algorithms for commonly encountered problems. [GE]

Software Design & Development
CSE 325 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 223 and CSE 215 (grades of "C" or higher).

Intermediate software design and development with emphasis on user interface design, architectures, and software patterns. [GE]

Computer Networks
CSE 330 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 223 (grade of "C" or higher).

Introduction to computer networking with a focus on network topology, OSI layers, and developing programs to explore and utilize features of the network. Topics include the role of networking in security, cloud computing, and the Internet Of Things (IOT), with an emphasis on effective teamwork in developing network-related software. [GE]

Introduction to Database Systems
CSE 340 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 223 (grade of "C" or higher).

Introduction to database design and use of databases to manage application and user data, as well as SQL programming in the relational database context to demonstrate database language concepts and identify issues and potential solutions. Topics also include core database design concepts such as indexing and optimization. [GE]

System Programming
CSE 345 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 223 and CSE 370 (grades of "C" or higher).

Focus on design, development, and maintenance of systems software that interfaces directly with the underlying hardware of a computer system. Topics include memory management, process management, file systems, device drivers, as well as writing low-level code using programming languages such as C and C++. [GE]

Computer Organization & Architecture
CSE 370 5 Credits/Units

4 hours of lecture / 2 hours of lab

Prerequisite: CSE 250 (grade of "C" or higher).

Introduction to computer organization, microprocessor system architecture, instruction sets, interfacing and assembly language. Application of concepts using Microchip micro controller in lab projects. [GE]

Project & Program Management
CSE 410 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 223 and ENGL& 235 (grade of "C" or higher).

Emphasis on techniques and tools required to manage software projects effectively and efficiently, while ensuring the software meets the quality standards and user requirements. Topics include goal setting, resource planning, scheduling, and risk management in the context of Lean Software development and Agile Methodology. [GE]

Ethics & Intellectual Property
CSE 415 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 223 and ENGL& 235 (grade of "C" or higher).

Introduction to intellectual property concepts (Patents, Copyright, Copyleft, Trade Secrets) and the application of ethical standards in the field of computer science. [GE]

Human-Computer Interface
CSE 420 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 223 and ENGL& 235 (grade of "C" or higher).

Introduction to Human-Computer Interaction with an emphasis on developing effective and easy-to-use graphical user interfaces. [GE]

Introduction to Artificial Intelligence
CSE 430 2 Credits/Units

2 hours of lecture

Prerequisite: CSE 223 (grade of "C" or higher).

First in a three-course sequence in Artificial Intelligence. Introduction to Artificial Intelligence (AI) general theories, machine learning with emphasis on techniques, theory, and algorithms, that enable computers to learn. Topics include AI¿s current and future effects on society (economic , employment, social, military, politics). [GE]

Fundamentals of Artificial Intelligence
CSE 431 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 223, CSE 430, and MATH 215 (grades of "C" or higher).

Second course in a three-course sequence in Artificial Intelligence. Topics include AI¿s general theories and algorithms with emphasis on techniques and tools of Machine Learning (ML) and associated hardware platforms (e.g. neuromorphic computing, GPUs, etc.). [GE]

Application of Artificial Intelligence
CSE 432 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 431 (grade of "C" or higher).

Third and final course in a three-course sequence focuses on application of key concepts of Artificial Intelligence (AI), with emphasis on application of Machine Learning (ML) techniques, theory, and algorithms to design project and analyzing real world case studies. [GE]

Introduction to Data Science
CSE 435 2 Credits/Units

2 hours of lecture

Prerequisite: CSE 223 (grade of "C" or higher).

First in a three-course sequence. Introduction to opportunities and challenges in Data Science. Topics include Python data science packages, statistical analysis methods and effective data visualization. [GE]

Fundamentals of Data Science
CSE 436 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 223 and CSE 435 (grades of "C" or higher).

Second in a three-course sequence on Data Science. Developing skills in analyzing and visualizing a broad range of large data sets using Data Science fundamentals and techniques. Topics include predictions through probabilistic modeling, statistical inference, Python Data Science tools, and visualization techniques. [GE]

Application of Data Science
CSE 437 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 436 (grade of "C" or higher).

Third and final course in a three-course sequence on Data Science. Emphasis on developing visualization and decision-making tools based on industry-relevant large data sets using Data Science processes, tools, and techniques. Case studies in various industry domains is used to develop skills required for an informed and effective Data Science practitioner. [GE]

Introduction to Cloud Computing
CSE 440 2 Credits/Units

2 hours of lecture

First in a three-course sequence on Cloud Computing. Introduction to concepts, opportunities, and challenges in cloud computing. Topics include cloud storage, compute, event, messaging, web app, security, and monitoring. [GE]

Fundamentals of Cloud Computing
CSE 441 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 325, CSE 330, CSE 340, and CSE 440 (grades of "C" or higher).

Second course in a three-course sequence in Cloud Computing. Topics include Fundamentals of cloud computing, cloud storage, compute, event, messaging, web app, security, and monitoring. [GE]

Application of Cloud Computing
CSE 442 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 441 (grade of "C" or higher).

Third and final course in a three-course sequence on Cloud Computing. Emphasis on developing cloud computing applications using Microsoft Azure cloud infrastructure and C# programming language. [GE]

Introduction to Mobile Application
CSE 445 2 Credits/Units

2 hours of lecture

Prerequisite: CSE 223 (grade of "C" or higher).

First in a three-course sequence on mobile application. Introduction to concepts, opportunities, and challenges in mobile application development. Topics will include designing, developing, deploying, and testing mobile applications using the Dart programming language and the Flutter development environment. [GE]

Fundamentals of Mobile Application
CSE 446 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 325, CSE 340, and CSE 445 (grades of "C" or higher).

Second in a three-course sequence on mobile application. Focus on fundamentals of mobile application development. Topics include designing, developing, deploying, and testing mobile application fundamentals. [GE]

Developing Mobile Applications
CSE 447 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 446 (grade of "C" or higher).

Third and final course in a three-course sequence on mobile application. Focus on mobile computing application development. Topics include designing, developing, deploying, and testing mobile applications using the Dart programming language and the Flutter development environment. [GE]

Survey of Cybersecurity
CSE 450 2 Credits/Units

2 hours of lecture

Prerequisite: CSE 223 (grade of "C" or higher).

First course in a three-course sequence in Cybersecurity. Introduction to Cybersecurity concepts, opportunities, and challenges. Topics include cyber-attack types, access control, authentication, cryptography, network security and application security. [GE]

Capstone Project I
CSE 490 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 310, CSE 325, and CSE 340 (grades of "C" or higher) and concurrent enrollment in CSE 410.

First of a three-course sequence on capstone project. Emphasis on working in teams to propose an industry-relevant project by defining problem statements, evaluating existing solutions, and proposing more effective or more efficient solutions. [GE]

Capstone Project II
CSE 491 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 490 (grade of "C" or higher).

Second of a three-course sequence on capstone project. Emphasis on working in teams to develop prototype of a new solution to an industry-relevant problem. Topics include alternative solution idea development, idea evaluation, selection process, creating project plans, implementing prototype of the selected solution idea. [GE]

Capstone Project III
CSE 492 4 Credits/Units

4 hours of lecture

Prerequisite: CSE 491 (grade of "C" or higher).

Third and final course in a three-course sequence on capstone project. Emphasis on continuous process improvement, teamwork, risk assessment and management, as well as software project execution, verification, and delivery. [GE]