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, decision trees, Bayesian classification, natural language processing, clustering, and time series analysis. Through practical analysis of 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 comprehensive course delves into data mining and machine learning principles. Topics include knowledge discovery, data representation, classification, decision trees, Bayesian classification, natural language processing, clustering, and time series analysis. Through practical analysis of datasets, students learn supervised and unsupervised learning, predictive modeling, rule induction, and support vector machines, preparing them for real-world applications.
Pre-Req: CSB 320
CSB 425: Big Data Analytics (5)
This course explores Big Data ecosystems in cloud-based systems 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