Overview
The Bachelor of Science in Computer Science degree program provides a strong technical background for students planning to begin careers upon graduation and for those interested in graduate study in computer science. Degree requirements include courses in object oriented programming, data structures and algorithms, operating systems, computer communication networks, software engineering, and computer architecture, as well as mathematics, statistics and the natural sciences. Program features a rigorous academic foundation that is complemented by realistic programming assignments. Emphasis is placed on developing both the technical and design skills necessary to begin and enhance an individual's career. Graduates of this program are well prepared for immediate employment in either the computer industry or many other businesses that increasingly rely on computer science.
Program Outcomes
Upon successful completion of this program, students will gain:
· An ability to apply knowledge of computing and mathematics appropriate to the discipline
· An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution
· An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
· An ability to function effectively on teams to accomplish a common goal
· An understanding of professional, ethical, and social responsibilities
· An ability to communicate effectively with a range of audiences
· An ability to analyze the impact of computing on individuals, organizations, and society, including ethical, legal, security, and global policy issues
· Recognition of the need for, and an ability to engage in, continuing professional development
· An ability to use current techniques, skills, and tools necessary for computing practice
· An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices
· An ability to apply design and development principles in the construction of software systems of varying complexities.
Transition Programs
Two transition programs are available to students in the Bachelor of Science in Computer Science (BSCS) degree who meet certain requirements as specified below:
BSCS/Master of Science in Computer Science (MSCS) Transition Program
BSCS/Master of Science in Software Engineering (MSSE) Transition Program
Students must complete graduate-level; coursework taken as a 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 institutions 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 curses in their in their undergraduate program and have a cumulative GPA of at least a 3.00 to be eligible. Students must apply for and begin the MSCS or MSSE program within six months after completing their final BSCS course. Students must complete their MSCS or MSSE program within four years with no break exceeding 12 months.
BSCS/MSCS Transition Program
Allows currently enrolled BSCS students to register for two MSCS courses as electives for their BSCS degree. Students can select CSC 610, SEN 620, SEN 621 or SEN 625. The number of courses required to earn an MSCS degree for Transition Program students is reduced from 12 to as few as 10 courses, depending on courses selected and grades earned.
BSCS/MSSE Transition Program
Allows currently enrolled BSCS students to register for two MSSE courses as electives for their BSCS degree. Students can select SEN 621 and one of the following two courses: SEN 620 or SEN 625. The number of courses required to earn an MSSE degree for Transition Program students is reduced from 12 to as few as 10 courses, depending on course taken and grades earned.
Requirements
To receive a Bachelor of Science in Computer Science, students must complete at least 180 quarter units. 76.5 quarter units must be completed at the upper-division level, and 45, including the senior project courses (CSC 480A and CSC 480B), 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.
General Education Recommendations
ENG 334A - Technical Writing
(Prerequisite ENG100/101)
Prerequisites for the Major
(12 courses; 48 quarter units)
Select two sets of courses from the following (each selection must have a lecture and lab course)
SCI 100 - Survey of Bioscience*
SCI 100A - Survey of Bioscience Lab (1.5 quarter units)
(Prerequisite: SCI 100)
SCI 101 - Introductory Chemistry*
(Recommended: Prior completion of MTH 204 or MTH 215 or MTH 216A/B
SCI 101A - Introductory Chemistry Lab* (1.5 quarter units)
(Prerequisite: SCI 101)
SCI 104 - Introductory Physics*
(Prerequisites: two years of high school algebra and MTH 204 or 215 or 216A/B)
SCI 104A - Introductory Physics Lab (1.5 quarter units)
(Prerequisite: SCI 104)
and
MTH 215 - College Algebra*
(Prerequisite: Placement Evaluation)
CSC 200 - Orientation to Computer Science
CSC 208 - Calculus for Computer Science I*
(Prerequisite: MTH 215)
CSC 209 - Calculus for Computer Science II
(Prerequisite: CSC 208)
CSC 220 - Applied Probability and Statistics
(Prerequisite: MTH 215)
CSC 242 - Introduction to Programming Concepts*
(Prerequisites: CSC 200, CSC 208)
CSC 252 - Programming in C++*
(Prerequisite: CSC 242)
CSC 262 - Programming in Java*
(Prerequisite: MTH 215)
*May be used to satisfy a general education requirement.
Requirements for the Major
(17 Courses; 73.5 quarter units)
CSC 300 - Object Oriented Design
(Prerequisite: CSC 252)
CSC 310 - Linear Algebra and Matrix
(Prerequisite: CSC 208)
CSC 331 - Discrete Structures and Logic
(Prerequisites: CSC 252, CSC 310)
CSC 335 - Data Structures and Algorithms
(Prerequisites: CSC 300 & CSC 331)
CSC 338 - Algorithm Design
(Prerequisite: CSC 335)
CSC 340 - Digital Logic Design
(Prerequisites: CSC 200, CSC 208)
CSC 340L - Digital Logic Design Lab (1.5 quarter units)
(Prerequisite: CSC 340)
CSC 342 - Computer Architecture
(Prerequisites: CSC 340 & CSC 340L)
CSC 350 - Computer Ethics
CSC 400 - Operating System Theory and Design
(Prerequisite: CSC 335)
CSC 422 - Database Design
(Prerequisite: CSC 300)
CSC 430 - Programming Languages
(Prerequisite: CSC 300)
CSC 436 - Computer Communication Networks
(Prerequisite: CSC 335)
Select any two courses from the following list:
CSC 421- Compiler Design
(Prerequisite: CSC 335)
CSC 440 - Advanced Programming in Java
(prerequisite. CSC 262)
CSC 445 - Wireless Application Development
(Prerequisite: CSC 242 or CSC 262)
CSC 450 - Artificial Intelligence
(Prerequisite: CSC 335)
CSC 451 - Artificial Intelligence Programming
(Prerequisite: CSC 335)
CSC 452 - Human Computer Interaction
(Prerequisite: CSC 300)
CSC 454 - Computer Graphics
(Prerequisite: CSC 310, CSC 335)
CSC 455- Game Programming
(Prerequisite: CSC 454)
CSC 456 - Advanced Game Programming
(Prerequisite: CSC 455)
Capstone Project
CSC 480A - Computer Science project I
(Prerequisite: Completion of major coursework)
CSC 480B - Computer Science project II
(Prerequisite: CSC 480A)