Mar 29, 2024  
Catalog 2020-2021 
    
Catalog 2020-2021 [ARCHIVED CATALOG]

Computer Science, B.S.


In the CS program, you will learn fundamental computer science concepts while applying your 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.

You’ll begin by taking a set of common core courses to establish a strong foundation in computer science, followed by coursework in one of four concentration areas: Software Engineering, Network and Security, Data Science, or Game Development. The curriculum provides you the opportunity to learn concepts and develop skills in more than one concentration, helping you to become a well rounded computer science professional.

Required Courses


In order to graduate, you will also need to complete your General Education  and university requirements . You must maintain a minimum GPA of 2.0 or above in the major, and must earn a C- or above in any course that serves as a pre-requisite to a more advanced course.

Computer Science Electives


All students must complete twelve (12) units of CS elective coursework from the list below, and not used in fulfillment of concentration requirements.

Concentrations


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

Please note: Twelve (12) of the units taken to complete a concentration (all of which are upper division) may not be used in fulfillment of other minors or concentrations.

Network & Security Concentration  

Data Science Concentration  

Software Engineering Concentration  

Game Development Concentration  

Learning Outcomes


MLO 1: Problem Solving & Computational Thinking

Apply analytical, mathematical, and computational methods to solve problems, abstracting essential structure, recognizing sources of uncertainty, and utilizing appropriate tools. More specifically, graduates should be able to:

  1. Apply knowledge of mathematics, programming, and computational thinking to solve problems;
  2. Analyze a problem, abstract its essential structure, and design, develop, and implement an appropriate solution;
  3. Evaluate the correctness and efficiency of a computer-based solution, process, component, or program to meet a desired outcome.

MLO 2: Professional Communication

Demonstrate the ability to analyze, understand, and evaluate information, ideas, and insights from multiple perspectives through written, oral, visual, and electronic means of communication, and explain their significance at an advanced collegiate level. More specifically, graduates should be able to:

  1. Receive information, ideas, and arguments through active listening and effective reading skills;
  2. Communicate effectively with a range of audiences through college-level writing;
  3. Communicate effectively with a range of audiences through well-organized, precise, and effective oral presentations.

MLO 3: Professional Ethos

Demonstrate professionalism through team work, punctuality, integrity, and reliability, as well as a commitment to ethical action based on an ability to rigorously evaluate multiple perspectives. More specifically, graduates should be able to:

  1. Function effectively on teams with diverse individuals from diverse backgrounds to accomplish a common goal;
  2. Analyze the local and global impact of computing on individuals, organizations, community, society, and the world;
  3. Understand and apply their professional, ethical, legal, security, and social responsibilities in the service of their community, society, and world.

MLO 4: CS Core Knowledge and Skills

Apply core computer science knowledge, theories, methods, and practices to address new and complex real-world challenges and opportunities. More specifically, graduates should be able to:

  1. Apply mathematical foundations, knowledge, tools, and methods in the modeling and design of computer-based systems in a way that demonstrates understanding of the tradeoffs involved in design choices;
  2. Apply systems knowledge, tools, and methods in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices;
  3. Apply software design, algorithmic knowledge, tools, and methods in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.

MLO 5: CS Specialized Knowledge and Skills

Apply specialized knowledge, theories, methods, and practices from multiple CS disciplines to address new and complex real-world challenges and opportunities. More specifically, graduates should be able to:

  1. Apply design and development principles, tools, and methods of specialized knowledge, possibly from multiple specializations, in the construction of computing systems of varying complexity in a way that demonstrates comprehension of the tradeoffs involved in design choices.