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 120 | Computer Science 1: Programming Fundamentals | 4 |
CS 121 | Computer Science 2: Data Structures and Objects | 4 |
CS 222 | Advanced Programming | 3 |
CS 224 | Design and Analysis of Algorithms | 3 |
CS 230 | Computer Organization and Architecture | 3 |
CS 239 | Social and Professional Issues | 1 |
CS 316 | Introduction to Operating Systems and Computer Networks | 3 |
CS 495 | Software Engineering 1 | 3 |
CS 498 | Software 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.
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:
General CS Concentration Electives
12 credit hours from any of the following courses:
MATH 161 | Applied Calculus 1 | 3 |
| or | |
MATH 165 | Calculus 1 | 4 |
CS 315 | Game Programming | 3 |
CS 341 | Computer Science Community & School Outreach | 1-6 |
CS 369 | Professional Experience 1 | 1 TO 3 |
CS 390 | Game Studio Pre-Production | 3 |
CS 410 | Web Programming | 3 |
CS 411 | Mobile Application Development | 3 |
CS 414 | Game Studio 1 | 3 |
CS 415 | Game Studio 2 | 3 |
CS 420 | Multitier Web Architectures | 3 |
CS 421 | Data Analytics | 3 |
CS 439 | Current Topics Seminar in Computer Science | 3 TO 6 |
CS 445 | Human-Computer Interaction | 3 |
CS 446 | System Administration | 3 |
CS 447 | Network Security | 3 |
CS 455 | Data Mining and Machine Learning | 3 |
CS 490 | Software Production Studio | 3 TO 6 |
CS 499 | Independent 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:
Web and Mobile App Development Concentration Concentration Elective Courses
9 credit hours from any of the following courses:
CS 315 | Game Programming | 3 |
CS 341 | Computer Science Community & School Outreach | 1-6 |
CS 369 | Professional Experience 1 | 1 TO 3 |
CS 380 | Theory of Computation 1 | 3 |
CS 390 | Game Studio Pre-Production | 3 |
CS 414 | Game Studio 1 | 3 |
CS 415 | Game Studio 2 | 3 |
CS 419 | Operating Systems | 3 |
CS 421 | Data Analytics | 3 |
CS 431 | Programming Languages | 3 |
CS 439 | Current Topics Seminar in Computer Science | 3 TO 6 |
CS 445 | Human-Computer Interaction | 3 |
CS 446 | System Administration | 3 |
CS 447 | Network Security | 3 |
CS 455 | Data Mining and Machine Learning | 3 |
CS 490 | Software Production Studio | 3 TO 6 |
CS 499 | Independent 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:
Cybersecurity and Secure Software Design Concentration Elective Courses
9 credit hours from any of the following courses:
CS 315 | Game Programming | 3 |
CS 341 | Computer Science Community & School Outreach | 1-6 |
CS 369 | Professional Experience 1 | 1 TO 3 |
CS 380 | Theory of Computation 1 | 3 |
CS 390 | Game Studio Pre-Production | 3 |
CS 410 | Web Programming | 3 |
CS 411 | Mobile Application Development | 3 |
CS 414 | Game Studio 1 | 3 |
CS 415 | Game Studio 2 | 3 |
CS 418 | Database Design | 3 |
CS 419 | Operating Systems | 3 |
CS 420 | Multitier Web Architectures | 3 |
CS 421 | Data Analytics | 3 |
CS 431 | Programming Languages | 3 |
CS 439 | Current Topics Seminar in Computer Science | 3 TO 6 |
CS 445 | Human-Computer Interaction | 3 |
CS 455 | Data Mining and Machine Learning | 3 |
CS 490 | Software Production Studio | 3 TO 6 |
CS 499 | Independent 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 210 | Animation: Introduction to 3D | 3 |
CS 215 | Introduction to Game Design | 3 |
MMP 305 | Introduction to Digital Signal Processing | 3 |
CS 315 | Game Programming | 3 |
CS 390 | Game Studio Pre-Production | 3 |
CS 414 | Game Studio 1 | 3 |
CS 415 | Game Studio 2 | 3 |
Game Design and Development Concentration Elective Courses
6 credit hours from any of the following courses:
MMP 336 | Advanced Audio Concepts | 3 |
CS 341 | Computer Science Community & School Outreach | 1-6 |
CS 369 | Professional Experience 1 | 1 TO 3 |
CS 380 | Theory of Computation 1 | 3 |
CS 410 | Web Programming | 3 |
CS 411 | Mobile Application Development | 3 |
CS 416 | Computer Networks | 3 |
CS 418 | Database Design | 3 |
CS 419 | Operating Systems | 3 |
CS 420 | Multitier Web Architectures | 3 |
CS 421 | Data Analytics | 3 |
CS 431 | Programming Languages | 3 |
CS 439 | Current Topics Seminar in Computer Science | 3 TO 6 |
CS 445 | Human-Computer Interaction | 3 |
CS 446 | System Administration | 3 |
CS 447 | Network Security | 3 |
CS 455 | Data Mining and Machine Learning | 3 |
CS 490 | Software Production Studio | 3 TO 6 |
CS 499 | Independent 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:
Data Analytics and Machine Learning Concentration Elective Courses
12 credit hours from any of the following courses: