You are here

Computer Science Concentrations

By the time a student pursuing a Bachelors degree in Computer Science graduates, he or she will have completed a concentration consisting of selected courses that relate to a particular application area. Students generally choose their concentration in the first two years of the program. Whichever concentration is chosen, every graduate will have taken the demanding common set of courses required of all of our graduates.  Each concentration area within the degree program has a collection of required courses and required electives. The electives are chosen from lists of eligible courses specific to each concentration.

Cloud Computing

The Cloud Computing concentration in Computer Science prepares students to design, deploy, and manage scalable computing systems across various network infrastructures. Students gain a strong foundation through coursework in parallel and distributed computing, cloud services, network communication, systems administration, cyber security, artificial intelligence and machine learning. This technical core can be complemented by electives in accounting, project management, and business analytics to prepare students for entrepreneurial ventures and enterprise careers. Students can further tailor their experience by selecting a Senior Project aligned with cloud platforms, enterprise systems, or distributed service architectures. The Cloud Computing concentration equips graduates to pursue public and private sector careers in cloud engineering, DevOps, systems integration, consulting, and related roles.

Computer Engineering

The Computer Engineering concentration in Computer Science prepares students to learn about the design and internal operation and organization of processors, memory, and input/output systems, and importantly, design and implement software that efficiently and intelligently interacts with such systems. Students gain this complete knowledge through coursework in Boolean logic and circuits, assembly language programming, computer organization, operating systems, distributed and cloud computing, algorithms, and artificial intelligence and machine learning, in addition to programming courses. Students can further augment their knowledge by selecting a Senior Project relevant to their concentration. The concentration prepares students for job opportunities in various industrial sectors, including semiconductor, electronic design automation, operating systems, device drivers, and sensor-based IoT systems, such as automotive, aerospace, and many others.

Cyber Security

The Cyber Security concentration in Computer Science prepares students to develop the expertise needed to identify, analyze, and mitigate cyber threats across diverse platforms and networks. Students build this knowledge through a combination of core and specialized coursework, including a dedicated cybersecurity course, ethics in computing, secure database and operating system design, network defense, secure software development, and selected topics in artificial intelligence and machine learning. In addition to the core computer science curriculum, the concentration incorporates an interdisciplinary perspective through coursework in business law, criminal justice, and informatics. This broad approach equips students with both the technical skills and contextual understanding required to protect digital systems and sensitive information in an increasingly connected and complex digital world. Students may also choose to complete their Senior Project on a cyber security related topic, further deepening their knowledge through applied research or development. This concentration prepares graduates for entry-level positions in both the public and private sectors, including roles such as information security analyst, network security administrator, penetration tester, and secure software developer.

Scientific Computing

The Scientific Computing concentration in Computer Science prepares students who wish to apply their computer science degree in advanced computational techniques to solve complex problems in science, mathematical and engineering domains. This concentration builds on a strong foundation in computer science with courses such as Design and Analysis of Algorithms and Foundations of Computer Science, also known as Discrete Structures. This core knowledge is then integrated with interdisciplinary coursework in advanced mathematics, numerical methods, computer graphics, artificial intelligence and machine learning. Graduates are well equipped to analyze and interpret large-scale scientific data sets, develop and optimize simulation software, or contribute to the design (and implementation) of high-performance computing solutions.  These types of data sets and simulations can be found in biomedical engineering, financial modeling, materials science, and many other applications needed across a wide range of disciplines.

Video Game Design and Development

The Video Game Design and Development concentration in Computer Science prepares students to learn about the process of designing and developing video games. This concentration combines core computer science principles with practical experience in game design, allowing students to pursue their passion for video games. As part of this concentration, students learn about all aspects of video game design, including game design principles, game programming, game engines, graphics, game physics, AI, animations, sound/music integration, storytelling, UX/UI design, etc. Students complete hands-on projects throughout the concentration, often building complete games individually or in teams. Students can further enhance their knowledge by selecting a Senior Project on a related topic or taking other related courses, such as virtual reality, computer graphics, human-computer interaction, and 3D modeling. The concentration prepares students for job opportunities related to game design, such as game developer, VR developer, and game designer, in addition to regular software development jobs.