Computer Science BS

Apply Request Info


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

IBN 402 Management of Information Systems (5)
This course offers an overview of how businesses use information technologies and systems to achieve corporate objectives - including achieving operational excellence, developing new products/services, enhancing decision making, and achieving competitive advantage. Students will learn about a variety of issues facing organizations --infrastructure, security, business intelligence, networking, the Internet, telecom, wireless, enterprise applications, e-commerce, and ethics. Several case studies will be examined.
Pre-Req: Program Entry