Bachelor of Science in Computer ScienceRequest Information
- 4-Week Classes Balance work, life, and school.
- YEAR ROUND ENROLLMENT Our team reviews applications year-round.
- 180K Alumni Worldwide Become a part of NU's global alumni community.
Gain Practical Software Engineering Skills With an ABET-Accredited Bachelor's in Computer Science
Gain the technical and design skills you need to succeed in the growing field of software engineering with the Bachelor of Science in Computer Science. The online computer science degree program balances a strong academic foundation, realistic design, and implementation projects.
The Bachelor's in Computer Science degree program includes a broad coverage of variety of topics in software engineering, from design and implementations to management and security. You'll learn to analyze problems and design appropriate computer solutions through selection of appropriate data structures and algorithms, efficient, object-oriented programming, and application of database systems, computer communication networks, and computer architecture. This is all done while utilizing current tools, technologies, and development frameworks.
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 General Education for a total of six 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).
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.
(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-derivative; 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.
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.
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.
This course introduces the modern programming design techniques using C++. A study of fundamental control structures in C++ as well as syntax and semantic 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.
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.
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.
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)
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.
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.
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.
(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.
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.
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.
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
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.
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.
An introduction to operating system concepts including implementation, processes, deadlocks, communication, multi-processing, multilevel memory management, file systems, protection, resource allocation, and scheduling.
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.
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.
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
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.
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.
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.
- (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.
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.
Degree and Course Requirements
To receive a Bachelor of Science in Computer Science, students must complete at least 180 quarter units, including a minimum of 70.5 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, and 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.
- Learn to Solve Business Challenges with Software. This program is designed to give you the most up-to-date knowledge for a rapidly evolving field. The program features a rigorous academic foundation that is complemented by realistic programming assignments, giving you in-demand, applicable skills that can be put to use immediately.
- Career-Focused, ABET-Accredited Program. This program is accredited by the Accreditation Board of Engineering and Technology and meets the quality standards expected of computer science graduates. Upon completion of the program, you will be well-prepared for immediate employment in either the computer industry or many other businesses that increasingly rely on computer science.
- Ideal Online Experience Designed for Working Professionals. With online classes, you can continue working in your current job while balancing school. You can work toward your degree when and where it's convenient for you.
- Faculty Mentorship and Program Support. Even with online classes, you're never alone. Faculty advisors are available to offer support and guidance throughout the program and even after you graduate as you enter or advance in the job market.
There's no need to put your life on hold to earn your bachelor's degree in computer science. National University offers online classes, so you can continue working and complete coursework on your own time. You will continue to engage with faculty and classmates through discussion boards, and watch video lectures and presentations, listen to audio recordings, and take all quizzes and exams online - when it fits into your schedule.
You may also participate in weekly chat sessions and live classes, which are optional. Live classes are also recorded, so you can watch the recording afterward at any time. You can also request 1:1 help from an instructor for any guidance throughout the program so you're never alone in your studies.
The program is rigorous, fast-paced, hands-on, and prepares you for a career in computer programming. Most classes are four weeks, but the first three programming classes have the option of an eight-week format for your ease and convenience.
At the end of the program, you will participate in a capstone project that allows you to design and develop a new system using the knowledge gained from many areas in computer science. The capstone project is a team effort where teams produce a software product and demonstrate their work.
A BS 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, consulting, however, computer science skills are also needed in large numbers in many other industries from retail, healthcare, education, local, state and federal government agencies, transportation and others. Between 2022 and 2031, the computer science field is expected to grow 10.3% and the median national yearly salary in this field is $95,000*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, detail oriented, customer service and Microsoft Office proficiency.
Graduates of the Bachelor of Science in Computer Science degree program may pursue a career as a:
- Full-Stack Software Engineers ( this covers Software Engineer and software developer)
- Technical Program Manager
- Software Engineering Managers
- Network Engineers
- Java/C++ developer
Learn more about the career opportunities and benefits of a BSCS degree by reading NU's article: Which Computer Science Career is Right for Me?
*Source: Source: Emsi Labor Analyst
While a bachelor's degree in computer science is an excellent way to gain a solid foundation in the field, a master's degree in computer science can lead to greater career potential and higher-paying careers. Many students who enter the bachelor's program continue their studies into the Master of Science in Computer Science program. This is why National University offers 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.
Computer Science Degree FAQs
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.
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.
4-week classesOur 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 Classes
- 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 180,000 alumni worldwide.
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.
National University is dedicated to making higher education affordable, as well as accessible. Through NU scholarship offerings, eligible students are able to reduce the financial burden of college, start classes sooner, and finish their programs faster while focusing on achieving their goals.
In honor of our students, and in celebration of our 50th anniversary, National University is investing $30 million in new student scholarships. To learn more about our scholarships, how you can apply, and how much you can save, inquire today.Learn More