Computer Science
This is an archived copy of the 2025-2026 catalog. To access the most recent version of the catalog, please visit https://catalog.ndsu.edu.
- Department Web Site:
www.ndsu.edu/cs/ - Sample Program Guide:
bulletin.ndsu.edu/programs-study/undergraduate/computer-science/
Major Requirements
Major: Computer Science
Degree Type: B.S.
Minimum Degree Credits to Graduate: 122
University Degree Requirements
For complete details on these and other university degree requirements, refer to the Degree and Graduation Requirements section in the University Catalog.
- Minimum of 120 semester credits (some programs may exceed this minimum).
- Complete the University General Education requirements.
- Minimum institutional GPA of 2.00 based on work taken at NDSU.
- Minimum of 30 credits in resident at NDSU.
- Minimum of 36 upper level credits (courses numbered 300 or higher).
- Students with transfer credit must meet the NDSU 30 credits in residence (#4). Of these 30 credits in residence, a minimum of 15 credits must be in courses numbered 300 or above, and 15 credits must be in the student's declared major curricula.
University General Education Requirements
A list of university approved general education courses along with the administrative policies governing the requirement and the categories is available here.
| Code | Title | Credits |
|---|---|---|
| Category C: Communication | 12 | |
| Category R: Quantitative Reasoning | 3 | |
| Category S: Science and Technology | 10 | |
| Category A: Humanities and Fine Arts | 6 | |
| Category B: Social and Behavioral Sciences | 6 | |
| Category W: Wellness | 2 | |
| Category D: Cultural Diversity | ||
| Category G: Global Perspectives | ||
| Category L: Digital Literacy | ||
| Total Credits | 39 | |
Major Requirements
A Grade of 'C' or better is required for all CSCI prefix courses.
| Code | Title | Credits |
|---|---|---|
| B.S. Computer Science Core Requirements | ||
| CSCI 160 | Computer Science I | 4 or 6 |
| or CSCI 227 & CSCI 228 | Computing Fundamentals in Python I and Computing Fundamentals in Python II | |
| CSCI 161 | Computer Science II | 4 |
| CSCI 213 | Modern Software Development | 3 |
| CSCI 222 | Discrete Mathematics | 3 |
| CSCI 313 | Software Development with Frameworks | 3 |
| CSCI 336 | Theoretical Computer Science | 3 |
| CSCI 366 | Database Systems | 3 |
| CSCI 372 | Comparative Programming Languages | 3 |
| CSCI 374 | Computer Organization and Architecture | 3 |
| CSCI 445 | Software Projects Capstone 1 | 3 |
| CSCI 455 | Networking and Parallel Computation | 3 |
| CSCI 467 | Algorithm Analysis | 3 |
| CSCI 474 | Operating Systems Concepts | 3 |
| CSCI 489 | Social Implications of Computers 1 | 3 |
| MATH 165 | Calculus I (May satisfy general education category R) | 4 |
| MATH 166 | Calculus II | 4 |
| STAT 367 | Probability | 3 |
| STAT 368 | Statistics | 3 or 5 |
| or STAT 330 & STAT 331 | Introductory Statistics and Regression Analysis | |
| Track: Select one track from the four listed below | 12 | |
| Total Credits | 70-74 | |
Standard Track
| Code | Title | Credits |
|---|---|---|
| Select one of the following: | 3 | |
| Basic Linear Algebra | ||
| Introduction to UNIX | ||
| Computer Science Electives: | 9 | |
| Select 3 didactic courses from any 300-400 level CSCI prefix courses that are not part of the core requirement. | ||
| Total Credits | 12 | |
Cybersecurity Track
| Code | Title | Credits |
|---|---|---|
| CSCI 277 | Introduction to UNIX | 3 |
| Cybersecurity Electives: | 9 | |
| Principles of Cybersecurity | ||
| Defensive Cybersecurity | ||
| Ethical Hacking | ||
| Malware Detection, Analysis and Threat Mechanisms | ||
| Cybersecurity Law and Policy | ||
| Cybersecurity Forensics | ||
| Secure Software Development | ||
| Network Security | ||
| Foundations of the Digital Enterprise | ||
| Total Credits | 12 | |
Data Science Track
| Code | Title | Credits |
|---|---|---|
| MATH 129 | Basic Linear Algebra | 3 |
| Data Science Electives: | 9 | |
| Secure Software Development | ||
| Introduction to Data Science in Python | ||
| Fundamentals of Data Engineering | ||
| Machine Learning | ||
| Introduction to Artificial Intelligence | ||
| Artificial Intelligence, Ethics, and the Environment | ||
| Intelligent Agents | ||
| Cloud Computing | ||
CSCI 479 | ||
| Total Credits | 12 | |
Software Engineering Track
| Code | Title | Credits |
|---|---|---|
| Select one of the following: | 3 | |
| Basic Linear Algebra | ||
| Introduction to UNIX | ||
| Software Engineering Electives: | 9 | |
| Secure Software Development | ||
| Mobile Software Engineering | ||
| Principles of Software Engineering | ||
| Software Architecture and Design | ||
| Software Testing and Debugging | ||
| Fundamentals of Data Engineering | ||
| Cloud Computing | ||
| Foundations of the Digital Enterprise | ||
| Human-Computer Interaction | ||
| Total Credits | 12 | |
Link to view program description and 4-year Plan of Study
Major Requirements
Major: Computer Science
Degree Type: B.A.
Minimum Degree Credits to Graduate: 122
University Degree Requirements
For complete details on these and other university degree requirements, refer to the Degree and Graduation Requirements section in the University Catalog.
- Minimum of 120 semester credits (some programs may exceed this minimum).
- Complete the University General Education requirements.
- Minimum institutional GPA of 2.00 based on work taken at NDSU.
- Minimum of 30 credits in resident at NDSU.
- Minimum of 36 upper level credits (courses numbered 300 or higher).
- Students with transfer credit must meet the NDSU 30 credits in residence (#4). Of these 30 credits in residence, a minimum of 15 credits must be in courses numbered 300 or above, and 15 credits must be in the student's declared major curricula.
University General Education Requirements
A list of university approved general education courses along with the administrative policies governing the requirement and the categories is available here.
| Code | Title | Credits |
|---|---|---|
| Category C: Communication | 12 | |
| Category R: Quantitative Reasoning | 3 | |
| Category S: Science and Technology | 10 | |
| Category A: Humanities and Fine Arts | 6 | |
| Category B: Social and Behavioral Sciences | 6 | |
| Category W: Wellness | 2 | |
| Category D: Cultural Diversity | ||
| Category G: Global Perspectives | ||
| Category L: Digital Literacy | ||
| Total Credits | 39 | |
Major Requirements
A Grade of 'C' or better is required for all CSCI prefix courses.
| Code | Title | Credits |
|---|---|---|
| B.A. Computer Science Core Requirements | ||
| CSCI 114 | Computer Applications (May satisfy general education category S) | 3 |
| or TL 116 | Business Software Applications | |
| CSCI 159 | Computer Science Problem Solving | 3 |
| CSCI 160 | Computer Science I | 4 or 6 |
| or CSCI 227 & CSCI 228 | Computing Fundamentals in Python I and Computing Fundamentals in Python II | |
| CSCI 161 | Computer Science II | 4 |
| CSCI 213 | Modern Software Development | 3 |
| CSCI 222 | Discrete Mathematics | 3 |
| CSCI 312 | Survey of Programming Languages | 3 |
| CSCI 313 | Software Development with Frameworks | 3 |
| CSCI 366 | Database Systems | 3 |
| CSCI 371 | Web Scripting Languages | 3 |
| CSCI 445 | Software Projects Capstone 1 | 3 |
| CSCI 488 | Human-Computer Interaction | 3 |
| CSCI 489 | Social Implications of Computers 1 | 3 |
| Related Major Requirements | ||
| COMM 260 | Introduction to Web Design | 3 |
| COMM 261 | Introduction to Web Development (or any 300/400 level CSCI elective) | 3 |
| MATH 146 | Applied Calculus I (May satisfy general education category R) | 4 |
| or MATH 165 | Calculus I | |
| STAT 330 | Introductory Statistics | 3 |
| STAT 331 | Regression Analysis | 2 |
| Other Courses: | ||
| Select these seven credits from the following areas: | 7 | |
| Science | Cannot be courses with the CSCI prefix | |
| Engineering | Cannot be ENGR 311 or ENGR 312 | |
| Math | MATH prefix course with a number higher than MATH 147, but not MATH 165 | |
| Statistics | STAT prefix course (except for STAT 330 or STAT 331) | |
| BA Degree Requirements | ||
| Proficiency at the second year level in a modern foreign language. | ||
| Total Credits | 63-65 | |
Minor Requirements
Minimum Credits Required: 16
| Code | Title | Credits |
|---|---|---|
| Required Courses | ||
| CSCI 213 | Modern Software Development | 3 |
| Choose one of the following sequences: | 8-9 | |
| Computer Science I and Computer Science II | ||
| Computing Fundamentals in Python I and Computing Fundamentals in Python II and Computing Fundamentals in Python III | ||
| Additional Electives: Select 5 or 6 credits to reach the minor 16 cr. minimum (at least 3 credits must be CSCI 300-400 level). | 5-6 | |
| Total Credits | 16-18 | |
Minor Requirements and Notes
- A minimum of 8 credits must be taken at NDSU.
- A grade of 'C' or better is required in all courses applied to this minor.
