Computer Science General Concentration
The general concentration option is a broad computer science program that prepares students for any introductory position in the field. This concentration also allows students to select a research area and focus on that topic in their 400-level coursework. Students can also take a breadth focus -- a little bit of everything -- for a broader perspective.
View Coursework Requirements
Artificial Intelligence and Machine Learning Concentration
Artificial intelligence (AI) and machine learning (ML) are about creating intelligent systems – systems that perceive and respond to the world around them. AI and ML systems are everywhere, in our cars and smartphones, and businesses of all sizes are investing in these areas.
This concentration combines a rigorous computer science degree with coursework in AI, ML, and big data. This concentration also provides students the necessary foundational coursework and skills in math, statistics, and data science.
Upon completing this program, students will be able to:
- Develop AI and ML approaches for complex real-world problems
- Deploy high-performance computing tools for the analysis of large datasets
- Use a broad range of AI and ML tools, techniques, and algorithms
- Apply AI and ML tools in an ethical and socially responsible manner, with an awareness of biases that can result from their indiscriminate use
- Communicate results of complex analyses verbally and in writing using appropriate visualization techniques
- Confidently pursue graduate studies or professional employment in AI/ML and computer science
Career Opportunities
In addition to the opportunities open to all computer science graduates, the AI/ML concentration opens career paths that include:
- Machine learning engineer
- Data scientist
- Business intelligence developer
- Big data engineer
- Data mining analyst
- Natural language processing analyst
- Computer vision engineer
View Coursework Requirements
Computing Systems Concentration
Computing systems are integrated devices that input, output, process, and store data and information. Computing systems encompass a wide range, from simple sensors and hardware components to phones, laptops, desktops, and entire data centers. Computing systems specialists are challenged to provide ever increasing levels of performance from these systems.
This concentration provides students with the necessary tools to solve important and demanding systems problems at scale. Students will learn how to design and assess computer systems from a holistic perspective that encompasses distributed and parallel algorithms, big data, systems software, networking, compiler design, and artificial intelligence/machine learning.
Data is our most valuable resource. Large scale data are being generated by programs, sensors, and simulations. Drawing timely and effective insights from these data are at the heart of modern problems in computer science and society in general. The Computing Systems concentration includes courses that teach you how to accomplish this goal, from storing, transporting, organizing, and extracting insights from data to expressing programs that execute in parallel and distributed environments encompassing hundreds of thousands of cores.
Upon completing this program, students will be able to:
- Design scalable systems for computational and data intensive problems
- Design distributed and parallel algorithms to analyze large data sets
- Leverage diverse computing architectures in support of problem solutions
- Program accelerators/coprocessors (e.g., for deep learning)
- Confidently pursue graduate studies or professional employment in computer systems and computer science
Career Opportunities
In addition to the opportunities open to all computer science graduates, the Computing Systems concentration opens career paths that include:
- Cloud applications designer
- Systems designer
- Data scientist
- Dig data analyst
- Compiler designer
- Database specialist
- Supercomputing applications specialist
View Coursework Requirements
Human-Centered Computing Concentration
Human-centered computing (HCC) focuses on developing tools that improve the relationship between people and technology so that people can concentrate on the problem rather than the technology. The ultimate goal of HCC is to make the computer invisible.
Human-centered computing involves designing, developing, and deploying human-centric computer systems. In this concentration students will learn techniques for human-computer interaction using gestures, mobile devices, large surfaces, and virtual environments. Students will also learn how to design and conduct human-subject experiments and understand the role of HCC in developing human-centric artificial intelligence systems. The concentration provides rich interdisciplinary training in computer vision, machine learning, design and psychology.
Upon completing this program, students will be able to:
- Design interactive systems using state-of-the-art HCC techniques
- Design and conduct human-subject experiments
- Build complex 3D worlds for user interaction (e.g., virtual and augmented reality)
- Confidently pursue graduate studies or professional employment in HCC and computer science
Career Opportunities
In addition to the opportunities open to all computer science graduates, the HCC concentration opens career paths that include:
- User experience designer
- Virtual and augmented reality developer
- Human-centric developer for intelligent systems
View Coursework Requirements
Networks and Security Concentration
Networks connect computers and other devices so they can share information. The Networks and Security concentration involves designing, building, and maintaining networks and protecting them from cyberattacks.
Network and security technology is vitally important to almost every modern field of human endeavor including biology, physics, agriculture, medicine, defense, and more.
There is explosive demand for professionals who can understand the underlying principles of networks and security, incorporate them into products and practices, and provide defensive capabilities against cyber threats.
This concentration provides students core and elective courses on computer networking, systems security (including the latest trends and technologies in cyber-security), ethical hacking, operating systems, databases, and software. Students will develop fundamental skills in security architecture and analysis, cryptography, system vulnerabilities and attack vectors, malware analysis and defense, intrusion detection and protection, network architecture, engineering and network software development. The CSU Cyber-Security Center of Excellence expands upon these course offerings with lab equipment, research topics, and certification opportunities.
Upon completing this program, students will be able to:
- Work effectively in teams to develop computational solutions to complex problems
- Develop products and technologies that provide network/cyber-security solutions or incorporate these technologies into products that require security or network capabilities
- Analyze technologies and situations for cyber vulnerabilities to develop improvements to attack and defense methodologies
- Communicate technical ideas effectively in writing and verbally
- Confidently pursue graduate studies or professional employment in networks and security and computer science
Career Opportunities
In addition to the opportunities open to all computer science graduates, the Networks and Security Concentration opens career paths that include:
- Software developer
- Software architect
- Network security analyst
- Software project manager
- Computer systems security analyst
- Computer and information systems manager
- R&D jobs for both cyber-security attack and defense
Employers in a wide range of fields recognize the need for network and cyber-security architecture and implementations within their domains, which creates R&D and management opportunities across a wide job market.
View Coursework Requirements