Bachelor of Science
in Computer Science
Start sooner and finish faster with our innovative course design.
Our admissions team reviews applications year-round.
200k+ Alumni Worldwide
Become a member of NU’s global community.
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.
The Western Association of Schools and Colleges (WASC) accredits public and private schools, colleges, and universities in the U.S.
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).
Prerequisite: MTH 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 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.
Prerequisite: CSC 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.
Prerequisite: CSC 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.
Prerequisite: MTH 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.
Prerequisite: CSC 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.
Prerequisite: MTH 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.
Prerequisite: CSC 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
- 18 courses; 78 quarter units
Prerequisite: CSC 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.
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.
Prerequisite: CSC 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.
Prerequisite: CSC 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.
Prerequisite: CSC 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.
Prerequisite: CSC 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.
Prerequisite: CSC 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.
Prerequisite: CSC 331; Corequisite: CSC 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.
Prerequisite: CSC 331; Corequisite: CSC 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.
Prerequisite: CSC 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.
Prerequisite: CSC 335
An introduction to operating system concepts including implementation, processes, deadlocks, communication, multi-processing, multilevel memory management, file systems, protection, resource allocation, and scheduling.
Prerequisite: CSC 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.
Prerequisite: CSC 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.
Prerequisite: CSC 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.
Prerequisite: CIS 350, or CIS 423 and CSC 422
This course covers the aspects of information security on computer systems and networks. Information is becoming a valuable asset and security is vital in maintaining its confidentiality, integrity, and availability. This course explores aspects of securing a network such as identifying threats, vulnerabilities, and assets that aid in planning, risk analysis, and implementation of security policies. Other topics include security management practices, security models and architectures, and business continuity, disaster recovery, and incident response planning. In addition, legal, ethical, and professional issues are analyzed. This course, together with CIS 475, may help students prepare for the Certified Information Systems Security Professional (CISSP) exam.
Prerequisite: Completion 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.
Prerequisite: CSC 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.
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.
- 2 courses; 9 quarter units
Students must complete two 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.
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.
Introduction to methods that incorporate human capabilities and limitations, environmental factors, human-machine interaction, and other factors into system design. The focus is on the interface between humans, technology, and systems. Human factors and ergonomics in systems analysis, design, and evaluation will also be examined.
Concentration in Software Development
This concentration requires completion of the four technical electives listed under the program description for a total of 18 quarter units.
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.
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.
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
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.
- Describe, evaluate, and implement the processes and activities that go into engineering and building software systems
- Design, develop, modify and deploy software systems using relevant tools and technologies
- Develop software testing plans and conduct automated software testing
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: 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 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.
“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.
Why Choose National University
- Four-Week Courses
- 75+ 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 200,000 alumni worldwide.
“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
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.
Year of You Scholarship
Do you qualify for a needs-based scholarship? Learn more about the NU Year of You Scholarship and other scholarship opportunities to unlock the door to your dreams!
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.