Computer Science BS

In the CS program, students learn fundamental computer science concepts while applying their knowledge to solve real-world problems. Collaboration, team work and communication skills are infused into the learning experiences with heavily project-based courses in a state-of-the-art technological environment.

Students begin by taking a set of common core courses to establish a strong foundation in computer science, followed by taking courses in one of four concentration areas: software engineering, network and security, data science, or game development. The curriculum provides students the opportunity to learn concepts and develop skills in more than one concentration, helping them to become well rounded computer science professionals.

To learn more about the major, visit the School of Computing & Design website.

Required Courses

Special Requirements

If you have been accepted into the CS Online Degree Completion Program, you can find specific information for your degree on the CS Online Degree Completion Requirements page.

AS-T certified students can earn a Computer Science B.S. by completing the special requirements found on the Requirements for AS-T certified students in Computer Science.

All other CS majors, see below.

Standard Requirements

In order to graduate, you will also need to complete your general education and university requirements.

Complete all of the following courses:

All students must complete eight (8) units of CS elective courses from the list below and not used to fulfill their concentration:

Complete one of the following Concentrations to fulfill the requirements of the CS degree:

Network & Security Concentration

Complete all of the following courses:

Data Science Concentration

Complete all of the following courses:

Software Engineering Concentration

Complete all of the following courses:

Game Development Concentration

Complete all of the following courses:

Learning Outcomes

Core Outcome 1: Professional Communication & Development

Plan and assess personal career options and develop communication skills.

● Acquire, analyze and use information about the range of career possibilities, industry trends in computer science and information technology and its related fields to make career planning decisions.

● Use critical thinking skills to plan and assess personal career and further study goals and design educational experiences directed to those goals.

● Use written and oral communication to deliver persuasive viewpoint and technology content to multiple audiences.

● Acquire, analyze and use information about computer sciences and information technology to describe and speculate on the impact of digital communications technology on local and global communities.

Core Outcome 2: Knowledge of Computers & Networks

Demonstrate an understanding of the fundamentals of computer architecture, operating systems and networks.

● Describe the history of computers and computing.

● Explain how a computer represents and transmits information, how a computer's parts and components are organized and interfaced, basic components of an operating system and basic components of local area networks and wide area networks.

● Analyze and design simple circuits using digital electronics and logic gates.

● Describe the structure and organization of a modern microprocessor, and the sequence of operations in a typical instruction execution.

● Demonstrate a basic understanding of Assembly Language programming.

Core Outcome 3: Programming & Problem Solving

Analyze and solve problems using a programming language.

● Demonstrate the ability to develop algorithms and computer programs to solve problems by systematically decomposing a complex programming problem into manageable, well-documented steps that results in a design for the problem solution.

● Demonstrate that the program compiles and executes correctly for a given set of data.

● Demonstrate programming competency in a variety of programming structures, including arithmetic operations, control structures and loops, input/output operations including file I/O, the use of function calls, and the use of arrays and other storage types.

● Debug a program using appropriate debugging strategies.

● Produce a complete set of documentation for a program.

Core Outcome 4: Mathematics for Computing

Use mathematical concepts and constructs to express ideas and solve problems in computer science, and to communicate quantitative information.

● Use mathematical ideas to solve problems in Computer Science and Information Technology.

● Use mathematical thinking and models, charts, graphs, tables, figures, equations, and appropriate technologies to express ideas and concepts.

● Demonstrate an understanding of discrete mathematical concepts used in computing: Articulate and apply the concepts of binary numbers, combinatorics, logic, truth tables, graph theory and algorithms to problems in Computer Science and Information Technology.

● Analyze and evaluate the mathematical thinking and strategies of others.

Core Outcome 5: Interaction Design

Demonstrate effective use of computer-based tools used in the design and creation of interactive applications and electronic media.

● Design, create, and edit electronic images, sounds, videos, text, and motion.

● Use multimedia authoring tools to design, manage, and execute an interactive multimedia project.

Culmination Outcome 1: Service to the Community

Demonstrate the ability to combine knowledge in the discipline and community experiences to finish a community-based project.

● Demonstrate an understanding of a community problem and a need for service and/or support.

● Make a meaningful contribution to the solution of the problem.

Culmination Outcome 2: Professional Communications*

Demonstrate professional communication skills in written and oral form.

● Compose a capstone proposal with background research, methods, details description of implementation steps, budget, schedule, risks and evaluation plan.

● Present the background, methods, requirements, process and conclusion of the capstone project clearly in written and oral formats.

Culmination Outcome 3: Capstone project: Culminating Experience*

Create a comprehensive project according to an approved set of specifications that represents the culmination of CSUMB experiences in the major and showcases an achievement of professional level work.

● Finish the capstone project according to the proposal.

● Apply basic project management skills.

● Evaluate the solution according to a specified set of criteria.

Culmination Outcome 4: CS Elective

Demonstrate breath of knowledge in Computer Science topics outside of selected concentration.

Culmination Outcome 5: Ethics & Current Issues in the Major

Through an ethical perspective, students examine the impact of current and future information technologies on economics and culture in society.

● Demonstrate an understanding of the issues regarding the impact of current and future computing & information technologies on social frameworks such as economics, education, governance, globalization and social justice.

● Articulate code of conduct and reflect professional ethics in the computing and technology fields.

● Analyze case studies in current issues and professional ethics.

Students select one of the following concentrations (Software Engineering, Network Security, Information Systems, or Game Development) as listed below.

Software Engineering Concentration

SE Outcome 1: Advanced Programming

Apply object-oriented techniques to software construction.

● Apply object-oriented analysis and design to practical software construction.

● Provide a graphical user interface of a software system to a user.

SE Outcome 2: Specialized Programming

Apply programming skills to a specialized application.

● Utilize professional level platforms and tools to produce software systems that meet specified user needs and constraints.

● Combine several software skills and techniques to create an integrated software system.

● Articulate industry trends in the particular domains.

SE Outcome 3: Planning, Analysis, and Production of Software Application

Demonstrate the ability to analyze, plan, and produce a complete software application.

● Articulate the software system development life cycle and its characteristics.

● Apply best practices regarding project management.

● Analyze needs and constraints of complex software system design.

● Write a project proposal, a project report, and an operating manual.

● Collaborate with team members to implement a large software system.

● Understand and apply modern software production practice and tools such as component based programming, integrated development environment, version control and testing.

Network & Security Concentration

NS Outcome 1: Network Fundamentals

Understand and apply network fundamentals.

● Describe networking standards, concepts, topology, and media including LANs, WANs, the TCP/IP model, IP addressing, sub-netting, network hardware, network security and various protocols.

● Explain networking theory and protocols on common network systems.

● Apply IP routing concepts and router administration, distance vector and link state based IP routing algorithms, router interfaces, routing tables, and routing protocol configuration and network security concepts.

NS Outcome 2: Network Security

Understand and apply fundamentals of security technologies in protecting networks.

● Describe potential threats at each layer of TCP/IP model and most common computer systems.

● Explain foundational technologies that can be used to mitigate the impact of these threats including cryptographic algorithms, key exchange protocols, PKI.

● Apply network and computer security concepts to develop threat analysis within the constraints of requirements, cost and technology.

● Apply system hardening mechanisms to protect end hosts, networking equipment including routers and switches.

NS Outcome 3: Network Management & Administration

Apply processes and methods used to create an enterprise network plan and information systems.

● Examine inputs, business drivers, and deliverables of the planning process.

● Understand practical issues such as information security, business requirements, IT architecture, cost justification, implementation, migration planning, and vendor selection.

● Manage data, voice, and video communications.

● Apply industry standard products to manage and control digital networks.

● Demonstrate setup, configuration, and maintenance of Linux/UNIX servers

● Describe best practice in system administration including security policies and communication strategies with users.

Data Science Concentration

DS Outcome 1: Database Management Systems

Articulate and apply database design concepts and models.

● Describe components of a database management system and how they work together.

● Systematically design appropriate database structure using normalization and data modeling.

● Program using the database query language SQL.

● Articulate the advantages and purpose of databases, the characteristics of database systems, and how to use database systems both interactively and programmatically.

● Illustrate query processing and optimization techniques, transaction management, and storage and file structures.

DS Outcome 2: Business and Technology

Describe the basic structure and operation of modern high tech corporations and the information technologies utilized.

● Articulate various systems, techniques, procedures and conventions that are used to define the business and its strategies, services, products, clients and organizational form.

● Describe how information technology are used in business and the trends of the technologies.

DS Outcome 3: Advanced Information Systems

Utilize professional level platforms and tools to produce business information systems that meet the user needs and business constraints.

● Analyze the business problems and select appropriate commercial information systems.

● Evaluate the information system produced for usability, efficiency, and accuracy.

● Articulate industry trends in the particular domains.

● Write an information system proposal to justify the investment in system design.

Game Development Concentration

GD Outcome 1: Game Fundamentals

Understand the fundamental issues in the development of digital games.

● Describe components of modern digital games components and their relationships.

● Articulate the historical development of contemporary video and computer gaming.

● Describe team member roles and tasks within the production process.

● Describe the relationships of conceptual, creative, and technical production process to overall game development.

● Analyze the business, marketing, and industry components of game development.

● Articulate how and why digital games are designed.

● Use game engines and modeling tools to produce components of digital games.

● Generate an original game idea and produce a detailed design document for it.

GD Outcome 2: Game Programming

Develop and produce a computer game.

● Describe the technologies required for game programming.

● Apply programming skills to produce components of digital games.

● Use professional level game development environment in game production.

GD Outcome 3: Planning, Analysis and Production of Digital Games

Demonstrate the ability to analyze, plan and produce a computer game.

Utilize professional level platforms and tools to produce digital games that meet the user needs and system constraints.

● Articulate the software system development life cycle and its characteristics.

● Apply best practices regarding project management.

● Analyze needs and constraints of complex software system design.

● Write a game development proposal to justify the investment.

● Analyze game designs and select appropriate commercial development systems.

● Collaborate with a team to create a simple yet complete digital game.

● Evaluate the games produced for usability, playability, and accuracy.

● Understand and apply modern software production practice and tools such as component based programming, integrated development environment, version control and testing.

Course Pathways

These pathways are examples of how you might complete all the requirements for your degree in an order that makes sense given prerequisites. They are meant to give you a general sense of what your education will look like.

Your own unique situation and a number of other factors may mean your actual pathway is different. Perhaps you'll need an extra math or language class, or one of the courses we've listed isn't offered in a particular semester. Don't worry - there is flexibility built into the curriculum. You'll want to work closely with an advisor and use the academic advisement report to take all that into account and develop a pathway that's customized for you.

In the meantime, use this example as a starting point for choosing classes or discussing your plans with an advisor. Your advisor is your best resource when it comes to figuring out how to fit all the courses you need, in the right sequence, into your personal academic plan.

General Freshman Pathway

Fall Freshman

Units: 4
Requirements:
  • D1
Units: 4
Requirements:
  • A1
Units: 4
Requirements:
  • B4
Course: Language 102
Units: 4
Requirements:
  • C3

* This FYS class is just an example. The FYS class you choose might meet a different GE area, so you would have to adjust your actual pathway accordingly.

Spring Freshman

Units: 4
Requirements:
  • Major
Units: 4
Requirements:
  • Major
Course: Language 201
Units: 4
Requirements:
  • Language Proficiency

Fall Sophomore

Units: 4
Requirements:
  • Major
Units: 4
Requirements:
  • Major
Units: 4
Requirements:
  • B1
Course: Any approved course
Units: 4
Requirements:
  • D2

Spring Sophomore

Units: 4
Requirements:
  • Major
Units: 4
Requirements:
  • Major
Units: 4
Requirements:
  • Major
Units: 6
Requirements:
  • D3
  • E

Fall Junior

Units: 4
Requirements:
  • A4
  • Major
Course: Concentration Course #1
Units: 4
Requirements:
  • Concentration
Units: 4
Requirements:
  • Major
Units: 4
Requirements:
  • Major

Spring Junior

Course: Major Elective #1
Units: 4
Requirements:
  • Major
Course: Concentration Course #2
Units: 4
Requirements:
  • Concentration
Units: 2
Requirements:
  • D4
  • Major
Units: 4
Requirements:
  • Major

Fall Senior

Course: Major Elective #2
Units: 4
Requirements:
  • Major
Course: Concentration Course #3
Units: 4
Requirements:
  • Concentration
Course: Any Approved Course
Units: 4
Requirements:
  • C2

Spring Senior

Units: 4
Requirements:
  • Major
Units: 4
Requirements:
  • B2
  • B3
Units: 4
Requirements:
  • C1

General Transfer Pathway

Fall Junior

Units: 4
Requirements:
  • A4
  • Major
Course: Concentration Course #1
Units: 4
Requirements:
  • Concentration
Units: 4
Requirements:
  • Major
Units: 4
Requirements:
  • Major

Spring Junior

Units: 4
Requirements:
  • Major
Course: Concentration Course #2
Units: 4
Requirements:
  • Concentration
Units: 2
Requirements:
  • D4
  • Major
Units: 4
Requirements:
  • Major

Fall Senior

Units: 4
Requirements:
  • Major
Course: Major Elective #1
Units: 4
Requirements:
  • Major
Course: Concentration Course #3
Units: 4
Requirements:
  • Concentration
Units: 4
Requirements:
  • Major

Spring Senior

Units: 4
Requirements:
  • Major
Course: Major Elective #2
Units: 2
Requirements:
  • Major
Course: SBS 385: Environmental History of California (3-4 units): Environmental History of CA
Units: 4
Requirements:
  • D2