Bachelor of Science (BS)

The Flagship Program

The Bachelor of Science program is the degree that most students pursue and addresses the more formal requirements for most Masters’ or Ph. D. Level programs. It provides the best all-around preparation for those intending to make a career in computing areas. View the BS Standard Track Flow Chart and full list of Computer Science Course Descriptions.

The learning goals of the program focus on the ability to;

apply knowledge of computer and mathematics appropriate to the discipline

analyze a problem and identify and define the computing requirements appropriate to its solution

design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs

function effectively on teams to accomplish a common goal

understand professional, ethical, legal, security, and social issues and responsibilities;

communicate effectively with a range of audience

analyze the local and global impact of computing on individuals, organizations, and society

recognize and engage in continuing professional development

use current techniques, skills, and tools necessary for computing practices

apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the trade-offs involved in design choices

apply design and development principles in the construction of software systems of varying complexity

High School Preparation

You should have the basic college preparatory courses in high school. Courses that develop the ability to think logically, to organize and to analyze are especially recommended (e.g., algebra, geometry, trigonometry, statistics, and calculus) if you plan to pursue this degree.

Plan of Study

Those wishing to earn a BS degree typically start with the core computer science courses CSCI 160 and 161. The major requires the courses from the following list;

CSCI 160: Computer Science I (fall and spring)
CSCI 161: Computer Science II (fall and spring)
CSCI 213: Modern Software Development (fall)
CSCI 222: Discrete Mathematics (fall and spring)
CSCI 313: Advanced Software Development (spring)
CSCI 336: Theoretical Computer Science (spring)
CSCI 366: Database Systems (fall and spring)
CSCI 372: Comparative Programming Languages (fall and spring)
CSCI 374: Computer Organization and Architecture (fall and spring)
CSCI 445: Software Projects Capstone (spring)
CSCI 455: Networking and Parallel Computation (fall and spring)
CSCI 467: Algorithm Analysis (spring)
CSCI 474: Operating Systems Concepts (fall and spring)
CSCI 489: Social Implications of Computers (fall)
MATH 165: Calculus I (fall and spring)
MATH 166: Calculus II (fall and spring)
STAT 367: Probability (fall)
STAT 368: Statistics (spring)

Computer Science Capstone Courses
CSCI 445:
 Software Projects Capstone is typically taken during the last spring semester prior to degree completion and CSCI 489: Social Implications of Computers is typically taken during the last fall semester prior to degree completion.

 

Requirements for the STANDARD TRACK (view Standard Track Flowchart

MATH 129: Basic Linear Algebra OR
CSCI 277: Introduction to UNIX

ELECTIVES: Students need to take an additional 9 credits of CSCI 300-400 electives that are not part of the core requirement as well.


Requirements for the CYBERSECURITY TRACK (view Cybersecurity Track Flowchart

CSCI 277: Introduction to UNIX

ELECTIVES: Students need to take an additional 9 credits of cybersecurity electives from CSCI 401-410, CSCI 469: Network Security, or CSCI 473: Foundations of the Digital Enterprise


Requirements for the DATA SCIENCE TRACK (view Data Science Track Flowchart

MATH 129: Basic Linear Algebra

ELECTIVES: Students need to take an additional 9 credits of cybersecurity electives from CSCI 420-428, CSCI 436: Intelligent Agents, CSCI 450: Cloud Computing, CSCI 479: Introduction to Data Mining, or GEOG 455: Introduction to Geographic Information Systems


Requirements for the SOFTWARE ENGINEERING TRACK (view Software Engineering Track Flowchart

MATH 129: Basic Linear Algebra OR
CSCI 277: Introduction to UNIX

ELECTIVES: Students need to take an additional 9 credits of cybersecurity electives from CSCI 411-419, CSCI 450: Cloud Computing, CSCI 473: Foundations of the Digital Enterprise, or CSCI 488: Human-Computer Interaction


Additional university, college, and departmental requirements include;

 Communication (C):  12 credits 

 ENGL 110: College Composition I 
 ENGL 120: College Composition II
 COMM 110: Fundamentals of Public Speaking
 Upper Division Writing 

 Quantitative Reasoning (R) 3 credits 
 Science and Technology (S):   10 credits 
 Humanities and Fine Arts (A) 6 credits 
 Social and Behavioral Sciences (B) 6 credits 
 Wellness (W) 2 credits 
 Cultural Diversity (D) *† 
 Global Perspectives (G) *†  

 

 Total Credits: 39 credits 


* May be satisfied by completing courses in another General Education category.

General education courses may be used to satisfy requirements for both general education and the major, minor, and program emphases, where applicable.  Students should carefully review major requirements to determine if specific courses can also satisfy these general education categories.

A list of university approved general education courses and administrative policies are available here.


Students should consult the current general education requirements for specific courses in the NDSU Bulletin. If you consult the General Education Requirements, or the College requirements for a B.S. as described in the NDSU Bulletin, you may see requirements that appear to be slightly different from those described above, as well as other categories of requirements, such as Quantitative Reasoning and Science & Technology. However, if you satisfy the requirements described above, you should have any of these other requirements satisfied automatically. A grade of C or better is required in all Computer Science (CSCI) courses used toward the major. All core Computer Science courses must be taken at NDSU or transferred in when the student enters NDSU as a transfer student. Actual student schedules for each semester will vary depending on start year, education goals, applicable transfer credit, and course availability. Students are strongly encouraged to work with their academic advisor on a regular basis to review degree progress and customize an individual plan of study.

Top of page