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 - 63 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, 27-28 credits
Required courses, 15 credits
CS 380 | Theory of Computation 1 | 3 |
CS 416 | Computer Networks and Distributed Systems | 3 |
CS 418 | Database Design | 3 |
CS 419 | Operating Systems | 3 |
CS 431 | Programming Languages | 3 |
Electives, 12-13 credits from
MATH 161 | Applied Calculus 1 | 3 |
| or | |
MATH 165 | Calculus 1 | 4 |
MATH 415 | Mathematics of Coding and Communication | 3 |
CS 311 | Web and Mobile Development | 3 |
CS 312 | Back-End Development for Multiplatform Applications | 3 |
CS 315 | Game Programming | 3 |
CS 322 | Secure Software Development | 3 |
CS 326 | Foundations of Artificial Intelligence | 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 411 | Mobile Application Development | 3 |
CS 414 | Game Studio 1 | 3 |
CS 415 | Game Studio 2 | 3 |
CS 421 | Data Analytics | 3 |
CS 439 | Current Topics Seminar in Computer Science | 3 TO 6 |
CS 445 | Human-Computer Interaction | 3 |
CS 447 | Network Security | 3 |
CS 448 | Secure DevOps | 3 |
CS 455 | Data Mining and Machine Learning | 3 |
CS 467 | Rigorous Software Specification, Design and Testing | 3 |
CS 490 | Software Production Studio | 3 TO 6 |
CS 499 | Independent Study | 1 TO 6 |
Web and Mobile App Development Concentration, 27 credits
Required courses, 18 credits
CS 311 | Web and Mobile Development | 3 |
CS 312 | Back-End Development for Multiplatform Applications | 3 |
CS 322 | Secure Software Development | 3 |
CS 416 | Computer Networks and Distributed Systems | 3 |
CS 418 | Database Design | 3 |
CS 445 | Human-Computer Interaction | 3 |
Electives, 9 credits from
CS 315 | Game Programming | 3 |
CS 326 | Foundations of Artificial Intelligence | 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 411 | Mobile Application Development | 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 447 | Network Security | 3 |
CS 448 | Secure DevOps | 3 |
CS 455 | Data Mining and Machine Learning | 3 |
CS 467 | Rigorous Software Specification, Design and Testing | 3 |
CS 490 | Software Production Studio | 3 TO 6 |
CS 499 | Independent Study | 1 TO 6 |
Cybersecurity and Secure Software Design Concentration, 27 credits
Required courses, 15 credits
CS 203 | Introduction to Computer Security | 3 |
CS 311 | Web and Mobile Development | 3 |
CS 322 | Secure Software Development | 3 |
CS 416 | Computer Networks and Distributed Systems | 3 |
CS 447 | Network Security | 3 |
Electives, 12 credits from
CS 249 | Forensics | 3 |
CS 250 | Mobile Forensics | 3 |
CS 312 | Back-End Development for Multiplatform Applications | 3 |
CS 315 | Game Programming | 3 |
CS 326 | Foundations of Artificial Intelligence | 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 411 | Mobile Application Development | 3 |
CS 414 | Game Studio 1 | 3 |
CS 415 | Game Studio 2 | 3 |
MATH 415 | Mathematics of Coding and Communication | 3 |
CS 418 | Database Design | 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 448 | Secure DevOps | 3 |
CS 455 | Data Mining and Machine Learning | 3 |
CS 467 | Rigorous Software Specification, Design and Testing | 3 |
CS 490 | Software Production Studio | 3 TO 6 |
CS 499 | Independent Study | 1 TO 6 |
Game Design and Development Concentration, 27 credits
Required courses, 21 credits
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 |
Electives, 6 credits from
MMP 336 | Advanced Audio Concepts | 3 |
CS 311 | Web and Mobile Development | 3 |
CS 312 | Back-End Development for Multiplatform Applications | 3 |
CS 322 | Secure Software Development | 3 |
CS 326 | Foundations of Artificial Intelligence | 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 411 | Mobile Application Development | 3 |
CS 416 | Computer Networks and Distributed Systems | 3 |
CS 418 | Database Design | 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 447 | Network Security | 3 |
CS 448 | Secure DevOps | 3 |
CS 455 | Data Mining and Machine Learning | 3 |
CS 467 | Rigorous Software Specification, Design and Testing | 3 |
CS 490 | Software Production Studio | 3 TO 6 |
CS 499 | Independent Study | 1 TO 6 |
Data Analytics and Machine Learning Concentration, 27-28 credits
Required courses, 15 credits
Electives, 12-13 credits from
DANA 301 | Topics in Computational Data Analytics | 3 |
MATH 165 | Calculus 1 | 4 |
MATH 166 | Calculus 2 | 4 |
MATH 320 | Probability | 4 |
CS 311 | Web and Mobile Development | 3 |
CS 312 | Back-End Development for Multiplatform Applications | 3 |
CS 315 | Game Programming | 3 |
CS 322 | Secure Software Development | 3 |
CS 326 | Foundations of Artificial Intelligence | 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 411 | Mobile Application Development | 3 |
CS 414 | Game Studio 1 | 3 |
CS 415 | Game Studio 2 | 3 |
CS 416 | Computer Networks and Distributed Systems | 3 |
CS 419 | Operating Systems | 3 |
CS 431 | Programming Languages | 3 |
CS 439 | Current Topics Seminar in Computer Science | 3 TO 6 |
CS 445 | Human-Computer Interaction | 3 |
CS 447 | Network Security | 3 |
CS 448 | Secure DevOps | 3 |
CS 467 | Rigorous Software Specification, Design and Testing | 3 |
CS 490 | Software Production Studio | 3 TO 6 |
CS 499 | Independent Study | 1 TO 6 |
Total Credit Hours: 60-63