2022-2023 Undergraduate Catalog

Major in Computer Science (BA/BS)

The Department of Computer Science offers a major in computer science with a focus in five concentration areas, plus two minors. BSU computer science graduates pursue high-paying careers that make a difference in the world, with titles such as software developer (ranked #2 best job in 2021 by U.S. News and World Report), software engineer, computer programmer, game developer, software test engineer, full-stack web developer, database administrator, business analyst, data scientist, and product manager.  Our students also continue on to graduate studies in computer science, business administration, and other related subjects. Further information about careers for computer science majors can be found on the departmental website, www.bsu.edu/cs.

The core courses required for all concentrations build a foundation of understanding of the principles of computer science.  Students in all concentrations take the same courses during their freshmen and sophomore years, specialize in their junior and senior years, and join back together in a 2-semester immersive learning capstone experience shared by all concentrations.  The core courses provide foundations in algorithmic principles and computing theory, strengthen design and development techniques, instill ethical professional competence, develop communication abilities, and build the teamwork skills necessary for working on a software project in today's industry.

Each of the five concentrations offered within the major focus on a specific area of computer science, while allowing flexibility in the choice of electives to customize a students' learning journey:

  • General Computer Science (GCS) concentration dives deeper into the core computer science knowledge areas, gaining an in-depth understanding of computer science theory, networks, operating systems, programming languages, and database design.  GCS concentration students are poised to continue their studies into graduate school, tackle advanced problems in computer science research, or transition into a career in many different specialty areas.
  • Web and Mobile App Development (WMAD) concentration focuses on one of the most in-demand specialties in the field, where dynamic software is delivered on demand to mobile devices or accessed through web browsers.  Students in the WMAD concentration gain experience designing and deploying web-based and mobile-based applications following a user-centered design process, with a focus on effective user interface design.
  • Cybersecurity and Secure Software Design (CSSD) concentration emphasizes understanding the current cybersecurity landscape and building the next generation of secure software and systems.  Students in the CSSD concentration learn to design and evaluate secure software, develop security policies, and manage complex network systems and software environments.
  • Game Design and Development (GDD) concentration is a uniquely interdisciplinary program that builds the full suite of knowledge needed to design and implement digital games.  Students will learn how to follow a player-centered design process for creating original interactive media, as well as take cross-discipline courses to learn 3D animation and digital sound manipulation.  GDD concentration students collaborate on interdisciplinary teams to create original video games in an authentic modern studio environment, using contemporary best practices and industrial-strength tools.
  • Data Analytics and Machine Learning (DAML) concentration applies computer science techniques, including machine learning, to the study of large amounts of data in order to extract meaning.  DAML concentration students use these computer science techniques as a basis for critical thinking and decision-making in multiple domains, including scientific inquiry and enterprise-level data analysis.

Computer Science majors are required to own a laptop computer and may be required to bring the laptop to class. Some classes may require running software under Windows, but a Mac with Parallels Desktop software will work as well.

60 - 62 credits

Core Courses

The following 27 credit hours of CS courses are required of all CS majors as a part of all concentrations

CS 120Computer Science 1: Programming Fundamentals

4

CS 121Computer Science 2: Data Structures and Objects

4

CS 222Advanced Programming

3

CS 224Design and Analysis of Algorithms

3

CS 230Computer Organization and Architecture

3

CS 239Social and Professional Issues

1

CS 316Introduction to Operating Systems and Computer Networks

3

CS 495Software Engineering 1

3

CS 498Software Engineering 2

3

CS 495 and CS 498 involve a single 2-semester immersive learning project. They must be taken in the same academic year: CS 495 in the Fall and CS 498 the following Spring.

6-8 credits from

A Discrete course and a Statistics course are required of all CS majors as a part of all concentrations.

CS 124Discrete Structures

3

or

MATH 215Discrete Systems

4

MATH 181Elementary Probability and Statistics

3

or

MATH 221Probability and Statistics

3

or

MATH 321Mathematical Statistics

4

or

ECON 221Business Statistics

3

May substitute another statistics course with permission of Computer Science Department chairperson.

Concentration Specific Requirements

CS majors must complete one of the following concentrations. Note each concentration has a set of required courses and a separate set of elective courses. CS courses that are required on one concentration may be electives on other concentrations.

General CS Concentration

General CS Concentration Requirements

15 hours from all of the following 5 courses:

CS 380Theory of Computation 1

3

CS 416Computer Networks

3

CS 418Database Design

3

CS 419Operating Systems

3

CS 431Programming Languages

3

General CS Concentration Electives

12 credit hours from any of the following courses:

MATH 161Applied Calculus 1

3

or

MATH 165Calculus 1

4

CS 315Game Programming

3

CS 341Computer Science Community & School Outreach

1-6

CS 369Professional Experience 1

1 TO 3

CS 390Game Studio Pre-Production

3

CS 410Web Programming

3

CS 411Mobile Application Development

3

CS 414Game Studio 1

3

CS 415Game Studio 2

3

CS 420Multitier Web Architectures

3

CS 421Data Analytics

3

CS 439Current Topics Seminar in Computer Science

3 TO 6

CS 445Human-Computer Interaction

3

CS 446System Administration

3

CS 447Network Security

3

CS 455Data Mining and Machine Learning

3

CS 490Software Production Studio

3 TO 6

CS 499Independent Study

1 TO 6

Web and Mobile App Development Concentration

Web and Mobile App Development Concentration Required Courses

18 credit hours from all of the following 6 courses:

CS 410Web Programming

3

CS 411Mobile Application Development

3

CS 416Computer Networks

3

CS 418Database Design

3

CS 420Multitier Web Architectures

3

CS 445Human-Computer Interaction

3

Web and Mobile App Development Concentration Concentration Elective Courses

9 credit hours from any of the following courses:

CS 315Game Programming

3

CS 341Computer Science Community & School Outreach

1-6

CS 369Professional Experience 1

1 TO 3

CS 380Theory of Computation 1

3

CS 390Game Studio Pre-Production

3

CS 414Game Studio 1

3

CS 415Game Studio 2

3

CS 419Operating Systems

3

CS 421Data Analytics

3

CS 431Programming Languages

3

CS 439Current Topics Seminar in Computer Science

3 TO 6

CS 445Human-Computer Interaction

3

CS 446System Administration

3

CS 447Network Security

3

CS 455Data Mining and Machine Learning

3

CS 490Software Production Studio

3 TO 6

CS 499Independent Study

1 TO 6

Cybersecurity and Secure Software Design Concentration

Cybersecurity and Secure Software Design Concentration Required Courses

18 credit hours from all of the following 6 courses:

CS 203Introduction to Computer Security

3

CS 249Forensics

3

CS 416Computer Networks

3

CS 419Operating Systems

3

CS 446System Administration

3

CS 447Network Security

3

Cybersecurity and Secure Software Design Concentration Elective Courses

9 credit hours from any of the following courses:

CS 315Game Programming

3

CS 341Computer Science Community & School Outreach

1-6

CS 369Professional Experience 1

1 TO 3

CS 380Theory of Computation 1

3

CS 390Game Studio Pre-Production

3

CS 410Web Programming

3

CS 411Mobile Application Development

3

CS 414Game Studio 1

3

CS 415Game Studio 2

3

CS 418Database Design

3

CS 419Operating Systems

3

CS 420Multitier Web Architectures

3

CS 421Data Analytics

3

CS 431Programming Languages

3

CS 439Current Topics Seminar in Computer Science

3 TO 6

CS 445Human-Computer Interaction

3

CS 455Data Mining and Machine Learning

3

CS 490Software Production Studio

3 TO 6

CS 499Independent Study

1 TO 6

Game Design and Development Concentration

Game Design and Development Concentration Required Courses

21 credit hours from all of the following 7 courses:

ART 210Animation: Introduction to 3D

3

CS 215Introduction to Game Design

3

MMP 305Introduction to Digital Signal Processing

3

CS 315Game Programming

3

CS 390Game Studio Pre-Production

3

CS 414Game Studio 1

3

CS 415Game Studio 2

3

Game Design and Development Concentration Elective Courses

6 credit hours from any of the following courses:

MMP 336Advanced Audio Concepts

3

CS 341Computer Science Community & School Outreach

1-6

CS 369Professional Experience 1

1 TO 3

CS 380Theory of Computation 1

3

CS 410Web Programming

3

CS 411Mobile Application Development

3

CS 416Computer Networks

3

CS 418Database Design

3

CS 419Operating Systems

3

CS 420Multitier Web Architectures

3

CS 421Data Analytics

3

CS 431Programming Languages

3

CS 439Current Topics Seminar in Computer Science

3 TO 6

CS 445Human-Computer Interaction

3

CS 446System Administration

3

CS 447Network Security

3

CS 455Data Mining and Machine Learning

3

CS 490Software Production Studio

3 TO 6

CS 499Independent Study

1 TO 6

Data Analytics and Machine Learning Concentration

Data Analytics and Machine Learning Concentration Required Courses

15 credit hours from all of the following 5 courses:

DANA 100Introduction to Data Analytics

3

DANA 320Data Visualization

3

CS 418Database Design

3

CS 421Data Analytics

3

CS 455Data Mining and Machine Learning

3

Data Analytics and Machine Learning Concentration Elective Courses

12 credit hours from any of the following courses:

DANA 301Topics in Computational Data Analytics

3

MATH 165Calculus 1

4

MATH 166Calculus 2

4

MATH 320Probability

4

CS 315Game Programming

3

CS 341Computer Science Community & School Outreach

1-6

CS 369Professional Experience 1

1 TO 3

CS 380Theory of Computation 1

3

CS 390Game Studio Pre-Production

3

CS 410Web Programming

3

CS 411Mobile Application Development

3

CS 414Game Studio 1

3

CS 415Game Studio 2

3

CS 416Computer Networks

3

CS 419Operating Systems

3

CS 420Multitier Web Architectures

3

CS 431Programming Languages

3

CS 439Current Topics Seminar in Computer Science

3 TO 6

CS 445Human-Computer Interaction

3

CS 446System Administration

3

CS 447Network Security

3

CS 490Software Production Studio

3 TO 6

CS 499Independent Study

1 TO 6