Time: < 1 minute

Get More Information

  • Receive personalized details about this course.
  • Learn about scholarships, tuition, and more.
Edward H., Class of 2021

Bachelor of Science in
Computer Science

computer icon for 4 week courses

4-week Courses

Start sooner and finish faster with our innovative course design.

calendar icon for year round enrollment

Year-Round Enrollment

Our admissions team reviews applications year-round.

graduation cap icon for alumni community

230K+ Alumni Worldwide

Become a member of NU’s global community.

Home » Programs » Bachelor of Science in Computer Science

Prepare for a bright future in our tech-dependent society

Considering the high-tech world we live in, it’s no surprise computer science professionals are in demand across all industries. The job market is filled with opportunities for future-focused workers with the knowledge and skills to design innovative uses for new and existing computing technology.

National University’s Bachelor of Science in Computer Science (BSCS) degree program balances a strong academic foundation, realistic design, and implementation projects to prepare you for an exciting career in this fast-paced industry.

NU’s BSCS curriculum is designed to ensure you acquire the technical and design experience you need to succeed in the growing field of software engineering. You’ll study everything from design and implementations to management and security while you build industry-relevant expertise in data structures and algorithms, efficient, object-oriented programming and application of database systems, computer communication networks, and computer architecture. The field of computer science is evolving fast. If you want to see and be a part of what’s coming next, NU’s BS in Computer Science can show you the way.

WASC icon

The Western Association of Schools and Colleges (WASC) accredits public and private schools, colleges, and universities in the U.S.

ABET icon

The Bachelor of Science in Computer Science is accredited by the Computing Accreditation Commission of ABET, https://www.abet.org, under the General Criteria and the Computer Science Program Criteria.

Ranks in the top 10 for graduating students in the BS Computer Science program in the nation among online nonprofit 4-yr private universities.

Course Details

Prerequisites for the Major

  • 10 courses; 42 quarter units

Students must select one (1) science related lecture and one (1) lab course from Area F of the General Education for a total of 6 quarter units. The course/lab combination must be intended for science and engineering majors and develop an understanding of the scientific method (PHY104 and PHY104A or PHY130A are recommended).

PrerequisiteMTH 12A and MTH 12B, or Accuplacer test placement evaluation

Examines higher degree polynomials, rational, exponential and logarithmic functions, trigonometry and matrix algebra needed for more specialized study in mathematics, computer science, engineering and other related fields. Computer and/or graphing calculator use is highly recommended.

Prerequisite: MTH 12A and MTH 12B, or Accuplacer test placement evaluation

The first part of a comprehensive two-month treatment of Algebra and Trigonometry preliminary to more specialized study in Mathematics. The course covers Higher Degree Polynomials, Rational Functions, Exponential and Logarithmic Functions, transformations and the Algebra of functions, Arithmetic and Geometric sequences.

Prerequisite: MTH 216A

The second term of a comprehensive two-term treatment of Algebra and Trigonometry; this course is a continuation of MTH 216A. Topics include: Trigonometric Functions, Analytic Trigonometry and Application, Matrix Algebra, Systems of Linear and Non-Linear Equations and Inequalities, and Applied Problems. A graphing calculator may be required.

PrerequisiteMTH 215

(Cross-listed and equivalent to MTH220) Focus on differential and integral calculus with applications. Topics include limits and continuity, derivatives, standard rules of differentiation including chain rule, exponential and logarithmic forms, curve sketching, definition of anti-derivatives; integration rules including substitution and by parts, coverage of Fundamental Theorem of Calculus and a brief exposure to numeric integration. Students may not receive credit for both CSC 208 and MTH 220.

PrerequisiteMTH 215

This course introduces modern programming design techniques using C++. A study of fundamental control structures in C++ as well as syntax and semantics of the constructs in the language. The coverage includes data types, looping and decision statements, functions, and arrays. The course examines problem analysis, decomposition and modern programming paradigms and methodologies with introduction to object-oriented programming.

PrerequisiteCSC 208

Continuation of Calculus I with emphasis on understanding of concepts and developing problem solving techniques and strategies. Topics include integration of trigonometric functions, functions of several variables, convergence of series and sequences. Applications in the areas of series approximation, continuous probability distributions, random variables, and modeling are discussed and examined.

PrerequisiteCSC 242

The course introduces the fundamentals of Object-Oriented Programming in C++ including class definition and object instantiation, inheritance and polymorphism. Detailed coverage of pointers, operator overloading, I/O and file streams, templates, and exception handling. Exposure to Data Structures and basic algorithms for sorting and searching.

PrerequisiteMTH 215

The course introduces the Java programming language and its features. Topics include introduction to object-oriented programming, basic control structures, Java graphics and GUI objects, exposure to event driven programming, arrays and strings in Java. Coverage includes inheritance, and polymorphism and exception handling.

PrerequisiteCSC 208, or MTH 220; EGR 220

Introduction to the theory and applications of probability and statistics. Topics include data and numerical summary measures, fundamental concepts of probability, conditional probability, random variables, common distributions, quality and reliability and statistical inference (estimation, hypothesis testing, and regression). The emphasis is on developing problem solving skills and application to business, social sciences and engineering.

PrerequisiteCSC 262

A treatment of advanced programming techniques in Java using abstraction, encapsulation and inheritance. A deep dive with generic collection classes, coverage of regular expressions, file I/O operations, serialization, multi-threading, and Graphical User Interface design.

* May be used to meet a General Education requirement

Requirements for the Major

  • 17 courses; 73.5 quarter units

PrerequisiteCSC 252, or CSC 272

The course includes the study of vectors in the plane and space, systems of linear equations, matrices, determinants, vectors, vector spaces, linear transformations, inner products, eigenvalues and eigenvectors. The course will approach the study of linear algebra through computer-based exercises. Technology will be an integral part of this course. Students will also develop experience applying abstract concepts to concrete problems drawn from engineering and computer science.

PrerequisiteCSC 252, or CSC 272

(Cross-listed and equivalent to MTH 325) A theoretical foundation for computer science. Introduction to topics such as sets, propositional logic, Boolean algebra, counting techniques, recursive equations and solution techniques, graph algorithms with application to trees. Introduction to mathematical proofs. Students may not receive credit for both CSC 331 and MTH 325.

PrerequisiteCSC 208, or EGR 220

The scientific approach to problem solving through analysis and design are presented using modern computer science and engineering examples. Critical thinking and communication skills will be used to interpret and present results from real-world case studies where computers were used to solve scientific problems.

PrerequisiteCSC 252, or CSC 272

Covers the key concepts and methodologies required for object-oriented design, evaluation and development with focus on practical techniques such as use-case, and scenario based analysis. Coverage of Unified Modeling Language (UML) and domain analysis design. Exposure to software development process models and software management and security.

PrerequisiteCSC 300; CSC 331

An overview of common data structures such as lists, stacks, queues, trees, and graphs. A discussion of various implementations, efficiency and applications of data structures. Course examines efficient storage structures such as Hash tables and Binary Search Tree. Coverage of searching, sorting and graph algorithms along with their implementation and efficiency analysis.

Analysis of the values, ethics and ideologies in computing and their applications to current issues in computer industry within the contemporary sociocultural setting. Focuses on ethical decision-making in computing matters. Students develop an ethical outlook on a wide variety of workplace issues in computing through case study, debate and readings.

PrerequisiteCSC 331; CorequisiteCSC 340L

Foundation in design and analysis of the operation of digital gates. Design and implementation of combinational and sequential logic circuits. Concepts of Boolean algebra, Karnaugh maps, flip-flops, registers, and counters along with various logic families and comparison of their behavior and characteristics.

PrerequisiteCSC 331; CorequisiteCSC 340

A study of basic digital logic circuit design and implementation. Circuit schematic development and computer modeling and simulation of digital systems. Experiments explore designs with combinational and sequential logic. Students work through design activities, which include testing, troubleshooting and documentation.

PrerequisiteCSC 335

This course presents an introduction to algorithm design strategies and their application in solving some commonly encountered problems in computing. Topics include asymptotic behavior of algorithms, algorithm designs such as brute force and exhaustive search, divide-and-conquer, dynamic programming, greedy techniques, backtracking as well as branch and bound approach. A discussion of Intractability and NP–complete problems. The course includes an introduction to the theory of parallel and distributed computing.

PrerequisiteCSC 340 and CSC 340L

An examination of advanced hardware design, analysis and low-level programming with emphasis on the structure of the machine. In addition, the machine cycles and instructions, pipelining, addressing modes, memory hierarchy, cache levels and virtual memory and architecture concepts are covered. A discussion of I/O architectures and data transmission modes, disk technologies, tapes and RAID concepts. Comparison of alternative architectures like RISC and parallel processing are presented.

PrerequisiteCSC 335

An introduction to operating system concepts including implementation, processes, deadlocks, communication, multi-processing, multilevel memory management, file systems, protection, resource allocation, and scheduling.

PrerequisiteCSC 300

A survey of principles, structure, analysis, and techniques of database design and implementation. Topics include physical and logical design, normalization, database models, security, integrity and queries.

PrerequisiteCSC 331

An in-depth study of fundamental concepts in the design and implementation of computer communication networks. Coverage of core problems such as framing, error recovery, multiple-access, flow control, congestion control, routing and end-to-end reliability. Topics include basics of switched communication networks, packet switch architecture, TCP/IP networking, routing algorithms, Quality-of-Service networks. Network tools are applied in quantitative modeling and analysis of networks.

PrerequisiteCSC 300

A comparative study of programming languages. Syntax, semantics and pragmatics are considered. Language features that support Object-Oriented programming are emphasized. Recent trends in programming language design and theories are studied.

PrerequisiteCompletion of requirements for the major EXCEPT CSC340/CSC340L, CSC342, ITM470

Part I of three-part capstone project course focusing on Software Engineering concepts. Coverage of software development processes with a focus on agile development model. An exposure to software project management concepts including project scheduling. Students work collaboratively to gather requirements and generate UML use case diagrams for a realistic software project to be designed and constructed in parts II and III of the series. Emphasis is on agile Scrum software development process model. Grading is by H, S or U only.

Part II of three-part series on Software Engineering concepts and practices.Students follow a formal software development process model to build a system with specified requirements. A study of software testing methodologies. The focus is on object-oriented design, implementation and testing of tasks and subsystems in sprints. Students engage in Scrum software development process model and sprint planning. Grading is by H, S or U only.

PrerequisiteCSC 480B

Part III of three-part capstone project course with focus on Software Engineering concepts and practices. Exposure to Software security engineering and software configuration management. Students continue to engage in Scrum agile software development process model and sprint planning. Conduct object-oriented design, implementation, testing and project write up to deliver and demonstrate the finished software product. Grading is by H, S or U only.

Approved Electives

  • 4 upper level courses; 18 quarter units

Students must complete four 400 level technical electives, these electives can be taken from the computer science, computer information systems, or information technology management programs without duplicating any of the core courses.

An examination of web application development technologies, tools, and frameworks. The course covers design and construction of secure, responsive web applications. Topics include HTML, CSS, JavaScript, and client/server-side technologies for building full-stack dynamic applications.

Introduction to techniques and technologies in developing mobile applications. Coverage of mobile application platforms, development tools, implementation, and testing. Topics include app layout and widgets, activity lifecycle, menus and dialogs, data management and sensor interactions. An exposure to user interface design on mobile devices.

Prerequisite: CSC 300

An introduction to software testing concepts, strategies, and tools. Coverage of unit testing, functional and structural testing of software. A study of selection, design and execution of appropriate test plans and activities for software systems. Discussion of software testing automation and use of opensource software for testing.

Coverage of software engineering techniques and processes for developing software products. Examination of software development lifecycle. Use of agile methodology and scenario-based user stories in object-oriented software design. Discussion of various software architectures. Topics include cloud-based software, security and privacy, code management, testing, and development operations.

Prerequisite: CSC 335

An introduction to problem solving using modern artificial intelligence techniques. The course explores the latest challenges in the theory, practice, applications and implications of AI in the modern world with a focus on data science and machine learning. Examines the role of heuristics in problem solving. Concepts such as agents, production systems, and natural language communication are studied.

Overview of core concepts related to the emerging interconnections between technology, the organization, and information management.

Foundation of project management – project integration, scope, time, cost, quality, human resources, communications, risk, and procurement. The focus is on the concepts, skills, tools, and techniques involved in information technology project management. Students will develop a project plan using Microsoft Project.

Prerequisite: CIS 301

Comprehensive introduction to the planning, analysis, design, and implementation of contemporary information systems. Students will examine the role and responsibility of a System Analyst. Several approaches to system requirements are also covered.

Prerequisite: CIS 474

This course covers the technical aspects of information security for computer systems and networks. Various topics of information security will provide students with an understanding of the tools and technologies used to design secure information systems and networks. With the understanding of what security is, this course discusses access control mechanisms, methods of attack, and secure protocols. It includes how to secure telecommunications networks and the Internet. Cryptography is discussed in regards to privacy and secrecy. There is an emphasis on physical security followed by application and system development security. In addition, there will be a discussion of vulnerability assessments and penetration testing and an examination of digital forensics. This course, together with CIS 474, may help students prepare for the Certified Information Systems Security Professional (CISSP) exam.

Focuses on two aspects of website management: technical and business aspects. An introduction to Web languages and technologies is made with some in-depth coverage of HTML and CSS. How to manage people, content, and suppliers is covered in the business focus.

Prerequisite: CYB 216

This course covers the secure administration of Linux based systems. Students will learn how to implement and assess standards based security measures on the Linux operating systems. Automating the implementation and assessment of security measures will be a core component of the class. Legal and ethical aspects of system administration will also be covered.

This course covers the secure administration of Windows based Desktop and server systems. Students will learn how to implement and assess standards based security measures on Windows based operating systems. Automating the implementation and assessment of security measures will be a core component of the class. Legal and ethical aspects of system administration will also be covered.

Prerequisite: CYB 331; CYB 332

This course builds on CYB 216 and covers advanced topics in security automation. Students will learn how to manage security related code in a software repository. Students will write integrated scripts to implement and assess system security. Use of devops automation tools to securely manage infrastructure will also be covered.

Degree and Course Requirements

To receive a Bachelor of Science in Computer Science, students must complete at least 180 quarter units to include a minimum of 69 units of the University General Education requirements; 76.5 quarter units must be completed at the upper-division level, and 45, including the senior project courses (CSC 480A, CSC 480B & CSC 480C), must be taken in residence at National University. In the absence of transfer credit, students may need to take additional general electives to satisfy the total units for the degree. Students should refer to the section on undergraduate admission procedures for specific information on admission and evaluation. All students receiving an undergraduate degree in Nevada are required by State Law to complete a course in Nevada Constitution.

Inside the Concentrations Available In this Program

Software Development

This concentration builds student proficiency in design, implementation, testing, and management of large-scale, secure software systems. It covers the concepts and skills in constructing software from inception to deployment, using current industry practices and tools. The concentration examines processes and activities that go into each stage of the Software Development Lifecycle. The focus is on Web and Mobile Application Design, development tools, frameworks, and testing strategies.

  1. Describe, evaluate, and implement the processes and activities that go into engineering and building software systems
  2. Design, develop, modify and deploy software systems using relevant tools and technologies
  3. Develop software testing plans and conduct automated software testing
  4. Students must take four required electives to receive this specialization: CSC441, CSC443, CSC447 and CSC449. For more information on these courses, please visit the NU Catalog.

For degree and specialization requirements, please visit our course catalog.

A Bachelor of Science in Computer Science degree opens doors in a variety of industries, including professional, scientific and technical services, manufacturing, finance and insurance, information services, administrative support services, and consulting. Computer skills are also needed in large numbers in many other industries from retail, healthcare, education, local, state and federal government agencies, transportation, and others.

NU’s computer science degree is designed to put you on the path to a successful, in-demand career. According to the Bureau of Labor Statistics,* employment of computer and information research scientists is projected to grow 22 percent from 2020 to 2030, much faster than the average for all occupations. Furthermore, the BLS notes that the median annual wage for computer and information research scientists was $131,490 in May 2021.

Employers in this field are looking for skills in communications, management, leadership,
information technology, operations, infrastructure, problem-solving, integration, troubleshooting, innovation, planning, research, mentorship, consulting, customer service, and Microsoft Office proficiency.

Graduates of NU’s Bachelor of Science in Computer Science degree program can pursue a wide range of careers,** including:

  • Software Engineers
  • Systems Engineers
  • Software Developers
  • DevOps Engineers
  • Project Managers
  • Network Engineers
  • Solutions Architects
  • Java Developers

Learn more about the career opportunities and benefits from earning your degree in computer science by reading NU’s article: Which Computer Science Career is Right for Me?

*SOURCE: https://www.bls.gov/ooh/computer-and-information-technology/computer-and-information-research-scientists.htm

**SOURCE: Emsi Labor Analyst- Report. Emsi research company homepage at https://www.economicmodeling.com/company/ (Report viewed: April 21, 2022). DISCLAIMER: The data provided is for Informational purposes only. Emsi data and analysis utilizes government sources to provide insights on industries, demographics, employers, in-demand skills, and more to align academic programs with labor market opportunities. Cited projections may not reflect local or short-term economic or job conditions and do not guarantee actual job growth. Current and prospective students should use this data with other available economic data to inform their educational decisions.

While a bachelor’s degree in computer science is an excellent way to gain a solid foundation in the field, a master’s degree can lead to greater career potential and higher-paying careers. Many students who enter the bachelor’s program continue their studies into NU’s Master of Science in Computer Science program, and this is why we offer a bachelor’s to master’s degree transition program.

The goal is to make the transition to the master’s program seamless and efficient, so you waste no time in between programs. The number of courses required to earn an MSCS degree for transition program students is reduced from 12 to as few as 10 courses, so you can finish your master’s degree faster.

Students must complete graduate-level coursework taken as part of the BSCS degree with a grade of “B” or better. This coursework, which counts as electives, will not transfer as graduate-level credit to National University or any other institution, as it is part of an undergraduate degree program.

Grades earned in graduate-level courses will be calculated as part of the student’s undergraduate grade-point average. Students must be within completing their last six courses in their undergraduate program and have a cumulative GPA of at least a 3.0 to be eligible.

Lastly, students must apply for and begin the MSCS program within six months of completing their final BSCS course. Students must complete their MSCS program within four years, with no break exceeding 12 months. Students in the BSCS transition program may take up to two MSCS classes as electives during the BSCS. Students may choose from the following courses: CSC 603, CSC 605, CSC 675, CSC606, and CSC607.

Program Educational Objectives

The Bachelor of Science in Computer Science Program Educational Objectives are as follows. Within a few years of graduation, graduates are expected to be:

  • Engaged and active as responsible professionals pursuing diverse career paths or successfully continuing their education in graduate school
  • Participating in continuing education opportunities enabling them to understand and apply new ideas and technologies in the field of computing.
  • Effective communicators and team members
  • Active contributors to their community and their profession

Program Learning Outcomes

  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  • Communicate effectively in a variety of professional contexts.
  • Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  • Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
  • Apply computer science theory and software development fundamentals to produce computing-based solutions.

Hear From Our Faculty

Watch our video to learn more about the BS in Computer Science program from Dr. Ronald Uhlig, Program Chair, Department of Engineering & Computing.

Ali Farahani headshot

“A flexible ABET-accredited program that prepares graduates for employment in the computer industry as well as for advanced studies in computer science.”

-Ali Farahani, Ph.D., Program Director, Computer Science


Enrolling in a university is a big decision. That’s why our dedicated admissions team is here to guide you through the admissions process and help you find the right program for you and your career goals.

To that end, we’ve simplified and streamlined our application process, so you can get enrolled in your program right away. Because we accept and review applications year round, you can begin class as soon as next month, depending on your program and location of choice.

Learn more about undergraduate, graduate, military, and international student admissions, plus admissions information for transfer students. You can also learn more about our tuition rates and financial aid opportunities.

To speak with our admissions team, call (855) 355-6288 or request information and an advisor will contact you shortly. If you’re ready to apply, simply start your application today.

Man in a button-down shirt smiles at a young boy in glasses who also wears a backpack
Our course structure is built to make earning your degree accessible and achievable, one month at a time, so you can start sooner and finish faster.

Why Choose National University

  • Four-Week Courses
  • 190+ Degree Programs
  • Online or On-Site
  • Year-Round Enrollment
  • Military Friendly

We’re proud to be a veteran-founded, San Diego-based nonprofit. Since 1971, our mission has been to provide accessible, achievable higher education to adult learners. Today, we educate students from across the U.S. and around the globe, with over 230,000 alumni worldwide.

Headshot of Anh T. Nguyen, a man from NU class of 2018

“The computer science program at NU is designed with relevant knowledge and skills for a student can take on a real tasks in the computer industry.”

-Anh T. Nguyen, Class of 2018

A mother sits on a couch with a laptop and smiles at her toddler-aged son, who is looking forward.
We know your life may not happen on a 9-5 schedule, so we offer courses online or on-site at locations across California.

Frequently Asked Questions

Computer science is the study of computer software and hardware and their applications. At its foundation, the program focuses on critical thinking, analysis, and problem solving. Efficient solution design, implementation, evaluation, and testing are routine tasks in a CS program. This degree provides the necessary knowledge and skills to enable you to understand complex problems and to apply principles of computing to identify solutions that meet a given set of requirements.

Yes. National University offers an online computer science degree program, culminating with a capstone project. The program is ABET-accredited and requires 180 quarter units to complete.

Most computer science bachelor’s programs take four years to complete. However, many online colleges offer two-year programs for students with an associate degree or transfer credits. National University offers a unique four-week class format, meaning students can take one class at a time, one month at a time and finish faster.

Although this program is rigorous and challenging, it is worth it for individuals interested in utilizing their math and problem-solving skills in their careers. A computer science degree can lead to a career in a highly in-demand field.

Yes, a good understanding of math concepts is necessary to be successful in computing and programming, as you will be required to make sense of abstract language, coding, algorithms, data structures, and more.

white scholarship oppotunities icon

The Key Grant Scholarship

Do you qualify for a needs-based scholarship? Learn more about the NU Key Grant Scholarship and other scholarship opportunities to unlock the door to your dreams!

Program Disclosure

Successful completion and attainment of National University degrees do not lead to automatic or immediate licensure, employment, or certification in any state/country. The University cannot guarantee that any professional organization or business will accept a graduate’s application to sit for any certification, licensure, or related exam for the purpose of professional certification.

Program availability varies by state. Many disciplines, professions, and jobs require disclosure of an individual’s criminal history, and a variety of states require background checks to apply to, or be eligible for, certain certificates, registrations, and licenses. Existence of a criminal history may also subject an individual to denial of an initial application for a certificate, registration, or license and/or result in the revocation or suspension of an existing certificate, registration, or license. Requirements can vary by state, occupation, and/or licensing authority.

NU graduates will be subject to additional requirements on a program, certification/licensure, employment, and state-by-state basis that can include one or more of the following items: internships, practicum experience, additional coursework, exams, tests, drug testing, earning an additional degree, and/or other training/education requirements.

All prospective students are advised to review employment, certification, and/or licensure requirements in their state, and to contact the certification/licensing body of the state and/or country where they intend to obtain certification/licensure to verify that these courses/programs qualify in that state/country, prior to enrolling. Prospective students are also advised to regularly review the state’s/country’s policies and procedures relating to certification/licensure, as those policies are subject to change.

National University degrees do not guarantee employment or salary of any kind. Prospective students are strongly encouraged to review desired job positions to review degrees, education, and/or training required to apply for desired positions. Prospective students should monitor these positions as requirements, salary, and other relevant factors can change over time.