Edward H., Class of 2021

Bachelor of Science
in Computer Science

4-week
COURSES

Start sooner and finish faster with our innovative course design.

Year-round
enrollment

Our admissions team reviews applications year-round.

185k+ 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.

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

Course Details

Course Listing

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).

Course Name

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.

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.

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 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.

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 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 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

Course Name

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.

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 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

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 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.

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 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 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.

PrerequisiteCIS 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.

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.

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.

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.

Approved Electives:

  • 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.

Course Name

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.

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.

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 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.
  • Evaluate data management methods and technologies used to improve integrated use of data
  • 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

Admissions

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

4 WEEK COURSES
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
  • 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 185,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

FLEXIBLE SCHEDULE
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.

Introducing the
Opportunity Scholarship

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 the Opportunity Scholarship, how you can apply, and how much you can save, inquire today.

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.

Chat with an Advisor