Main navigation

Computer Science

Bachelor of Science


With a Bachelor of Science in Computer Science from CSP Global, you will be well-prepared to pursue a career in software development and computer programming. In this affordable, 100% online degree program, you will learn how to design websites and develop software in a way that optimizes the user experience. You will also gain vital knowledge in the security side of the development process.


Program Length

55 Credits



  • Career-Centered Program: Earn your online computer science bachelor’s degree in as few as 2.5 years and prepare for a career in software development or computer programming.
  • Transfer Credits: Transfer up to 90 approved credits toward your online B.S. Computer Science degree.
  • Expand Your Skill Set: Learn web design, software development, user experience, object-oriented programming, security, and core web technologies.
  • Engaging Environment: Enjoy small class sizes and a personal learning environment led by industry-experienced faculty.
  • Tailored to Your Goals: Choose between an elective course in mobile app development or advanced web application development.
$ 420

Cost per credit – CSP Global’s technology programs are valuable and affordable.

Jumpstart Your Future

Career Paths

Web Developer $ 78,580
Data Scientist $ 103,500
Software Developer $ 127,260
Learn More About CSP

Undergraduate RFI

May We Text You?
UTM Hidden Field Code //Create program name from url // Use window.onload to ensure the code runs after all page resources are loaded window.onload = function () { // Get the current URL const currentURL = window.location.href; // Find ".edu/" in the URL const eduIndex = currentURL.indexOf(".edu/"); if (eduIndex !== -1) { // Extract everything after ".edu/" and remove any query string const programNameWithQuery = currentURL.substring(eduIndex + 5); const programNameWithoutQuery = programNameWithQuery.split("?")[0]; // Set the value of the hidden input field by name const programNameField = document.querySelector('[name="program_name"]'); if (programNameField) { programNameField.value = programNameWithoutQuery; // Add an event listener to the input field to remove slashes programNameField.addEventListener("input", function () { this.value = this.value.replace(/\//g, ""); }); } } }; //Push cookied UTMs to hidden fields // Function to get the value of a cookie by its name. function getCookieValue(cookieName) { var name = cookieName + "="; var decodedCookies = decodeURIComponent(document.cookie); var cookieArray = decodedCookies.split(';'); for (var i = 0; i < cookieArray.length; i++) { var cookie = cookieArray[i].trim(); if (cookie.indexOf(name) === 0) { return cookie.substring(name.length, cookie.length); } } return ""; } // Function to populate form fields with UTM cookie values. function populateFormFields() { // Define a mapping of cookie names to form field names. var cookieFieldMap = { "utm_id": "cookie_utm_id", "utm_source": "cookie_utm_source", "utm_medium": "cookie_utm_medium", "utm_campaign": "cookie_utm_campaign", "utm_term": "cookie_utm_term", "utm_content": "cookie_utm_content", "utm_source_platform": "cookie_utm_source_platform", "utm_campaign_id": "cookie_utm_campaign_id" }; // Iterate through the cookie-field mapping and populate the form fields. for (var cookieName in cookieFieldMap) { var fieldName = cookieFieldMap[cookieName]; var fieldValue = getCookieValue(cookieName); // Find the form field by name and set its value. var field = document.getElementsByName(fieldName)[0]; // Assuming the first matching field. if (field) { field.value = fieldValue; // Log the field name, cookie name, and value to the console for testing. console.log("newcode #1"); console.log("Field Name: " + fieldName); console.log("Cookie Name: " + cookieName); console.log("Field Value: " + fieldValue); } else { // Log a message if the field is not found. console.log("Field not found for cookie: " + cookieName); } } } // Add an event listener for DOMContentLoaded to execute the code when the DOM is loaded. document.addEventListener("DOMContentLoaded", function () { // Call the populateFormFields function on DOM load. populateFormFields(); }); // Add an event listener for form submission to log field values when the form is submitted. var form = document.forms[0]; // You might need to specify the correct form index. if (form) { form.addEventListener("submit", function (event) { // Log form field values before submitting the form. populateFormFields(); }); }

  • Most affordable private university in MN
  • Flexible payment options
  • $2,000 partnership scholarships available

Learn More

Full Requirements


  • Get introduced to a wide range of computer science topics, from operating systems, computer hardware, and web applications to artificial intelligence, cybersecurity, and emerging technologies. Take your first step into programming, data analysis, and networking.

  • Get introduced to problem solving using the Python programming language – no prior experience required. This course will cover Python programming constructs such as classes and objects, conditional statements, iterations, and functions. You will also learn computer hardware concepts, number systems, and Boolean algebra. By the end of the course, you will be able to take a description of a problem and write a program in Python that provides a solution.

  • This course covers mathematical concepts that are widely used in computer science, including discrete math, logic, and proofs. (Prerequisite: Minimum grade of C- in MAT 103 or Level 3 on the Math Placement Exam.)

  • Solve problems in Java using structured programming techniques.  Learn about variables, primitive data types, conditional statements, loops, static methods, file processing, string, and arrays. Explore concepts of object-oriented programming. (Prerequisite: Minimum grade of C- in CSC 115.)

  • Learn basic HTML and CSS to build static web pages and use JavaScript to build an interactive website. Explore responsive web development, user experience concepts, and accessibility topics. A prototyping tool will be used for wireframing, designing, and prototyping.

  • Get introduced to formal proofs and learn how to apply logic, set theory, function, and relations. This class is a prerequisite for several upper-level math courses. (Prerequisite: C- or better in MAT 135 or CSC 175.)

  • Learn the fundamentals of database design –– including SQL, data warehousing, and the relational model –– to create a prototype for output that meets real-life business outcomes. Practice the normalization process individually and in teams, helping you minimize redundant, inaccurate data. Other topics include design implications for speeding data access and the emergence of unstructured data systems.

  • Learn how to problem solve in Java using object-oriented programming. Topics include exception handling, generics, design patterns, and data structures. (Prerequisite: Minimum grade of C- in CSC 222.)

  • This course provides an overview of the programming and database techniques used in server-side programming. Topics include handling web form data, SQL, database design, security considerations, stored procedures, and JSON. (Prerequisite: Minimum grade of C- in CSC 135 and CSC 230.)

  • This course is an introduction to the functional components of computer systems –– including their hardware implementation and various levels of management –– and their interaction, characteristics, and performance. The course also covers practical implications for computer programming. (Prerequisite: Minimum grade of C- in CSC 115 or equivalent.)

  • This course provides a comparative survey of programming language paradigms. It includes an overview of the properties, applications, syntax, and semantics of selected object-oriented, functional, comparative, and declarative programming languages. (Prerequisite: Minimum grade of C- in CSC 322.)

  • Get introduced to key software engineering concepts –– such as life-cycle models, the phases of software development, and integrated development environments  –– as well as tools like Agile, version control systems, and project management software. This course assumes students have a good background in object-oriented programming in at least one programming language. (Prerequisite: Minimum grade of C- in CSC 322.)

  • This course covers both the theory and application of data structures such as lists, stacks, queues, sets, maps, binary search trees, and graphs. Study big-O notation, concepts of dynamic programming, and various sorting and divide-and-conquer algorithms. By the end of the course, you will be able to apply the appropriate data structures to a given problem for optimal performance and be able to determine the efficiency of basic algorithms. (Prerequisite: Minimum grade of C- in CSC 322 and MAT 220.)

  • This capstone course for the B.S. in Computer Science offers a realistic, hands-on software development experience. Throughout the course, you will work in teams using Agile to build a medium-size software. (Prerequisite: Minimum grade of C- in CSC 422 and CSC 315 or CSC 435.)


Start your application to CSP Global today!

Apply Now