Computer Science BS

Apply Request Info

Curriculum

The Computer Science Bachelor of Science (CS BS) degree focuses on the interaction between software programs and computer hardware including theories, algorithms, data structures, and management of information systems.

There are two pathway options available, which are Computer Science and Data Science. Students decide which pathway they want to follow after fall quarter completion in the CS program.

All students are required to complete either an internship or practicum to provide more real-world professional experience as part of the CS BS degree requirement.

All classes are 5 credits and are non-transferable. Please note that bachelor degree courses follow the upper division tuition chart. Non-Matriculated students can take CS courses upon faculty and director approval. Contact the director if interested.

CS Course Descriptions:

CSB 301 Logic and Problem Solving for Computer Science (5)
Provides the student with a thorough introduction to computational logic, covering in depth the topics of syntax, semantics, decision procedures, formal systems, and definability for both propositional and predicate logic. The material is taught from a computer-science perspective, with an emphasis on algorithms for automated reasoning. The goal is to prepare the students for using logic as a formal tool in computer science, in general, and artificial intelligence, in particular.
Pre-Req: CSC 143


CSB 302 Analysis of Algorithms (5)
Techniques for design of efficient algorithms. Methods for showing lower bounds on computational complexity. Examines types of algorithms including greedy, divide and conquer and dynamic programming. Particular algorithms for sorting, searching, set manipulation, arithmetic, graph problems, pattern matching. Explores intractability including NP-Complete Problems. Discussions led around Algorithmic Bias and why it's important to avoid.
Pre-Req: AD 325


CSB 305 Fundamentals of Computer Science (5)
Examines fundamentals of set theory, number theory, induction, and algebraic structures with applications to computing; grammars, finite state machines, and limits of computability.
Pre-Req: CSC 143


CSB 330 Computer Architecture & Networking (5)
This course introduces different hardware architectures, organizations and operations of various machines followed by the fundamentals of computer networking. The architecture portion includes topics such as number representation, CPU concepts, hardware/software interaction, memory hierarchy, I/O organization, and assembly language. The networking portion includes basic concepts of computer networks, layered network architecture, protocols and concept of network performance.
Pre-Req: Program Entry  


CSB 310 Programming Languages (5)
This course is an introduction to the design and implementation of programming languages. The course explores organization and structure of programming languages, run time behavior and requirements of programs, and programming language specification. The course teaches the programming models underlying different programming paradigms such as functional, logic, scripting and object- oriented languages.
Pre-Req: Program Entry


CSB 340 Operating Systems (5)
This course explores the services operating systems provide to executing processes and their secure access. Topics include memory management, concurrent process management, resource management, system call implementation, file systems, and memory protection.
Pre-Req: CSB 330


CSB 430 Software Design and Implementation (5)
Explores concepts and techniques for design and construction of reliable and maintainable software systems in modern high-level languages; program structure and design; program-correctness approaches, including testing; and event-driven programming (e.g., graphical user interface). Includes substantial project and software-team experience.
Pre-Req: CSB 302


CSB 435 Secure Software Development (5)
Techniques, methodologies, and processes for development of robust, secure software. Security development process, threat modeling, common software vulnerabilities, web site vulnerabilities, defensive coding practices, security testing.
Pre-Req: 430


CSB 440 Computer Science Practicum/Internship (5)
This cumulative capstone course provides students an opportunity to apply, integrate, and demonstrate their knowledge and skills throughout their undergraduate technology and computing education. The course assesses the student's ability to show mastery through practical examinations, oral presentations, and written work. Students must take this course in the last quarter of enrollment. May take another program requirement concurrently.
Pre-Req: Faculty Permission


AD 325 Data Structures and Algorithms (5)
This course covers fundamental data structures and their algorithms and applications in problem solving by programming. Includes linked lists, stacks, queues, priority queues, binary and multi-way trees, directed graphs, hashing, and internal and external sorting.
Pre-Req: CSC 143, Program Entry


AD 320 Web Application Development (5)
This course is an intermediate course in developing a database driven web application incorporating MVC patterns. The course will cover state maintenance, CRUD, & REST integration on both server & client side. Students will parse, cache, integrate API data achieved by third party providers into their application. Technologies can include as jQuery, CURL, AJAX & parsing JSON & XML.
Pre-Req: Program Entry


AD 350 Database Technology (5)
An introduction to the underlying data models and theory of database systems and the design, implementation and manipulation of relational databases.
Pre-Req: Program Entry


AD 400 Project Management in Software Development (5)
This course provides a comprehensive overview of current processes, practices & tools used to manage software development projects. Using a combination of case studies & projects, students apply best practices for planning, organizing, scheduling, & controlling software projects. Emphasizes legal & ethical issues that relate to project management.
Pre-Req: Program Entry


AD 420 Cloud Computing Software as a Service (5)
Covers fundamentals & strategies for moving & developing apps & data storage in the cloud. Students will analyze cloud-based offerings & compare them for suitability to specific app & infrastructure needs. They will learn to deploy apps to the cloud, utilize cloud-based services, develop cloud specific apps, and explore legal and ethical issues specific to the cloud computing environment.

AD 450 Data Science Practicum (5)
Fundamentals of data science course with topics that include data wrangling, visualization, exploratory data analysis, and machine learning. Students will gain hands-on data science experience with Python or R.
Pre-Req: Faculty Permission


IBN 330 Data Analytics in Business and Accounting (5)
Ongoing business operations require accountants to work with vast amounts of data generated daily. Data analytics helps businesses improve business intelligence, identify process improvements, and increase operational efficiency by uncovering valuable insights within their financial information. This course covers understanding and visualizing data, scientific decision making, and predictive data analysis.
Pre-Req: Program Entry


CSB 320: Machine Learning Concepts (5)
This comprehensive course delves into data mining and machine learning principles. Topics include knowledge discovery, data representation, classification, prediction models, decision trees, Bayesian classification, clustering, and time series analysis. Through practical analysis of massive datasets, students learn supervised and unsupervised learning, predictive modeling, rule induction, and support vector machines, preparing them for real-world applications. 
Pre-Req: AD 450

CSB 303: AI & Ethics (5)
This course focuses on the critical importance of ethics within AI. It covers the development and implementation of ethical practices in machine learning and data science, ensuring that students understand the societal impacts of AI technologies. Through discussions, case studies, and policy analysis, students will explore the ethical considerations relevant to privacy, fairness, accountability, and transparency in AI systems, preparing them for responsible AI development and deployment. 
Pre-Req: Program Entry

CSB 410: Deep Learning (5)
This course focuses on the advanced study of neural networks and various deep learning architectures, including an introduction to Reinforcement Learning. Students will gain in-depth knowledge of how to design and implement deep learning models, exploring their applications across different domains. The course aims to provide students with the expertise required to tackle the challenges of AI development, with a special emphasis on practical applications and the latest research in the field. 
Pre-Req: CSB 320

CSB 425: Big Data Analytics (5)
This course explores Big Data ecosystems and computational management techniques, including MapReduce, Spark, and Scala. Students will learn to process and analyze large datasets, understanding Big Data's challenges and opportunities. Through practical applications and case studies, the course demonstrates real-world technology applications, preparing students for careers in data analytics.
Pre-Reqs: AD 420, AD 350