BS Computer Science (CSBS)

Software Engineering
CSBS 310 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSE 223 (grade of "C" or higher) and admission into the BS Computer Science program.

Admission into the program required for enrollment. 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. Cannot have credit for both CSE 310 and CSBS 310. [GE]

Programming Language Design
CSBS 315 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSE 223 (grade of "C" or higher) and admission into the BS Computer Science program.

Admission into the program required for enrollment. Key topics in programming language design and implementation. Additionally, students evaluate three distinct programming languages based on principles and practices of programming language design. Cannot have credit for both CSE 315 and CSBS 315. [GE]

Design & Analysis of Algorithms
CSBS 320 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSE 223 and CSE 215 (grades of "C" or higher), and admission into the BS Computer Science program.

Admission into the program required for enrollment. 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. Cannot have credit for both CSE 320 and CSBS 320. [GE]

Software Design & Development
CSBS 325 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSE 223 and CSE 215 (grades of "C" or higher), and admission into the BS Computer Science program.

Admission into the program required for enrollment. Intermediate software design and development with emphasis on user interface design, architectures, and software patterns. Cannot have credit for both CSE 325 and CSBS 325. [GE]

Computer Networks
CSBS 330 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSE 223 (grade of "C" or higher) and admission into the BS Computer Science program.

Admission into the program required for enrollment. 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. Cannot have credit for both CSE 330 and CSBS 330. [GE]

Introduction to Database Systems
CSBS 340 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSE 223 (grade of "C" or higher) and admission into the BS Computer Science program.

Admission into the program required for enrollment. 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. Cannot have credit for both CSE 340 and CSBS 340. [GE]

System Programming
CSBS 345 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSE 223 and CSBS 370 (grades of "C" or higher), and admission into the BS Computer Science program.

Admission into the program required for enrollment. 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++. Cannot have credit for both CSE 345 and CSBS 345. [GE]

Computer Organization & Architecture
CSBS 370 5 Credits/Units

4.0 hours of lecture / 2.0 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. Cannot have credit for both CSE 370 and CSBS 370. [GE]

Special Projects
CSBS 390 1-5 Credits/Units

5.0 hours of lecture

Department consent required for enrollment. Opportunity to plan, organize, and complete special projects approved by the department. [GE]

Project & Program Management
CSBS 410 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSE 223 and ENGL& 235 (grade of "C" or higher), and admission into the BS Computer Science program.

Admission into the program required for enrollment. 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. Cannot have credit for both CSE 410 and CSBS 410. [GE]

Ethics & Intellectual Property
CSBS 415 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSE 223 and ENGL& 235 (grade of "C" or higher), and admission into the BS Computer Science program.

Admission into the program required for enrollment. Introduction to intellectual property concepts (Patents, Copyright, Copyleft, Trade Secrets) and the application of ethical standards in the field of computer science. Cannot have credit for both CSE 415 and CSBS 415. [GE]

Human-Computer Interface
CSBS 420 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSE 223 and ENGL& 235 (grade of "C" or higher), and admission into the BS Computer Science program.

Admission into the program required for enrollment. Introduction to Human-Computer Interaction with an emphasis on developing effective and easy-to-use graphical user interfaces. Cannot have credit for both CSE 420 and CSBS 420. [GE]

Introduction to Artificial Intelligence
CSBS 430 2 Credits/Units

2.0 hours of lecture

Prerequisite: CSE 223 (grade of "C" or higher) and admission into the BS Computer Science program.

Admission into the program required for enrollment. 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). Cannot have credit for both CSE 430 and CSBS 430. [GE]

Fundamentals of Artificial Intelligence
CSBS 431 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSE 223, CSBS 430, and MATH 215 (grades of "C" or higher). Admission into the BS Computer Science program.

Admission into the program required for enrollment. 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.). Cannot have credit for both CSE 431 and CSBS 431. [GE]

Application of Artificial Intelligence
CSBS 432 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSBS 431 (grade of "C" or higher) and admission into the BS Computer Science program.

Admission into the program required for enrollment. 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. Cannot have credit for both CSE 432 and CSBS 432. [GE]

Introduction to Data Science
CSBS 435 2 Credits/Units

2.0 hours of lecture

Prerequisite: CSE 223 (grade of "C" or higher) and admission into the BS Computer Science program.

Admission into the program required for enrollment. 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. Cannot have credit for both CSE 435 and CSBS 435. [GE]

Fundamentals of Data Science
CSBS 436 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSE 223 and CSBS 435 (grades of "C" or higher), and admission into the BS Computer Science program.

Admission into the program required for enrollment. 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. Cannot have credit for both CSE 436 and CSBS 436. [GE]

Application of Data Science
CSBS 437 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSBS 436 (grade of "C" or higher) and admission into the BS Computer Science program.

Admission into the program required for enrollment. 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. Cannot have credit for both CSE 437 and CSBS 437. [GE]

Introduction to Cloud Computing
CSBS 440 2 Credits/Units

2.0 hours of lecture

Prerequisite: CSE 222 (grade of "C" or higher) and admission into the BS Computer Science program.

Admission into the program required for enrollment. 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. Cannot have credit for both CSE 440 and CSBS 440. [GE]

Fundamentals of Cloud Computing
CSBS 441 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSBS 325, CSBS 330, CSBS 340, and CSBS 440 (grades of "C" or higher). Admission into the BS Computer Science program.

Admission into the program required for enrollment. 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. Cannot have credit for both CSE 441 and CSBS 441. [GE]

Application of Cloud Computing
CSBS 442 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSBS 441 (grade of "C" or higher) and admission into the BS Computer Science program.

Admission into the program required for enrollment. 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. Cannot have credit for both CSE 442 and CSBS 442. [GE]

Introduction to Mobile Application
CSBS 445 2 Credits/Units

2.0 hours of lecture

Prerequisite: CSE 223 (grade of "C" or higher) and admission into the BS Computer Science program.

Admission into the program required for enrollment. 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. Cannot have credit for both CSE 445 and CSBS 445. [GE]

Fundamentals of Mobile Application
CSBS 446 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSBS 325, CSBS 340, and CSBS 445 (grades of "C" or higher). Admission into the BS Computer Science program.

Admission into the program required for enrollment. 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. Cannot have credit for both CSE 446 and CSBS 446. [GE]

Developing Mobile Applications
CSBS 447 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSBS 446 (grade of "C" or higher) and admission into the BS Computer Science program.

Admission into the program required for enrollment. 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. Cannot have credit for both CSE 447 and CSBS 447. [GE]

Survey of Cybersecurity
CSBS 450 2 Credits/Units

2.0 hours of lecture

Prerequisite: CSE 223 (grade of "C" or higher) and admission into the BS Computer Science program.

Admission into the program required for enrollment. 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. Cannot have credit for both CSE 450 and CSBS 450. [GE]

Fundamentals of Cybersecurity
CSBS 451 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSBS 330 and CSBS 450 (grades of "C" or higher), and admission into the BS Computer Science program

Admission into the program required for enrollment. Second course in a three-course sequence in Cybersecurity. Designed to equip computer scientists with the principles of secure software engineering. Explore the tools, processes, and architectural elements required to develop resilient applications and software systems. Key topics include building resilience into the software development lifecycles (SDLC), including secure design, vulnerability mitigation, and the integration of security concepts like cryptography and threat modeling into the overall software development process. Cannot have credit for both CSE 451 and CSBS 451. [GE]

Capstone Project I
CSBS 490 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSBS 310, CSBS 325, and CSBS 340 (grades of "C" or higher) and concurrent enrollment in CSBS 410. Admission into the BS Computer Science program.

Admission into the program required for enrollment. 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. Cannot have credit for both CSE 490 and CSBS 490. [GE]

Capstone Project II
CSBS 491 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSBS 490 (grade of "C" or higher) and admission into the BS Computer Science program.

Admission into the program required for enrollment. 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. Cannot have credit for both CSE 491 and CSBS 491. [GE]

Capstone Project III
CSBS 492 4 Credits/Units

4.0 hours of lecture

Prerequisite: CSBS 491 (grade of "C" or higher) and admission into the BS Computer Science program.

Admission into the program required for enrollment. 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. Cannot have credit for both CSE 492 and CSBS 492. [GE]