Bachelor of Science in Computer Science
Lead Faculty:
Dr. Alireza Moztarebi Farahani
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. The 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 Learning Outcomes
Upon successful completion of this program, students will be able to:
- Apply mathematical foundations, algorithmic principles, and computer science theory in the modeling, design and optimization of computer-based systems.
- Analyze a problem and design the computing requirements appropriate to its solution.
- Implement and evaluate a computer-based system, process, component, or program to meet objectives.
- Discuss the impact of computing on individuals, organizations, and society, including ethical, legal, security, and global policy issues.
- Use current techniques, skills, and tools necessary for computing practice that supports the recognized need for continual professional development.
- Apply design and development principles in the construction of software systems.
- Function effectively on teams to accomplish a common goal.
- Demonstrate written and oral communication skills expected of a computer science professional.
Requirements
Transition Programs
BSCS/ Master of Science in Computer Science (MSCS) Transition Program
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.00 to be eligible. Students must apply for and begin the MSCS program within six months after completing their final BSCS course. Students must complete their MSCS 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 SEN 601, SEN 602 or DAT 604.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.
Degree 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: ENG 100/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)
BIO 100* Survey of Bioscience
BIO 100A* Survey of Bioscience Lab (1.5 quarter units)
Prerequisite: BIO 100, or BIO 161 for science majors
And/Or
CHE 101* Introductory Chemistry
Recommended Preparation: MTH 204, or MTH 215, or MTH 216A, and MTH 216B
CHE 101A* Introductory Chemistry Lab (1.5 quarter units)
Prerequisite: CHE 101, or CHE 141 for science majors
And/Or
PHS 104* Introductory Physics
Prerequisite: 2 years of high school algebra, and MTH 204, or MTH 215, or MTH 216A and MTH 216B
PHS 104A* Introductory Physics Lab (1.5 quarter units)
Prerequisite: PHS 104, or PHS 171 for science majors
MTH 215* College Algebra & Trigonometry
Prerequisite: Placement Evaluation
CSC 200 Orientation to Comp. Science
CSC 208* Calculus for Comp. Science I
Prerequisite: MTH 215
CSC 209 Calculus for Comp. Science II
Prerequisite: CSC 208
CSC 220 Applied Probability & Stats.
Prerequisite: MTH 215
CSC 242* Intro to Programming Concepts
Prerequisite: CSC 200, and 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)
EGR 220 - Engineering Mathematics
Prerequisite: CSC 208
CSC 331 - Discrete Structures and Logic
(Prerequisites: CSC 252, CSC 310)
CSC 335 - Data Structures and Algorithms
(Prerequisites: CSC 300 and CSC 331)
CSC 338 Algorithm Design (Prerequisite: CSC 335)
CSC 340 - Digital Logic Design
(Prerequisites: CSC 200, CSC 208)
Co-requisite: CSC340L
CSC 340L - Digital Logic Design Lab (1.5 quarter units)
(Prerequisite: CSC 340)
CSC 342 - Computer Architecture
(Prerequisites: CSC 340 and CSC 340L)
CSC 350 - Computer Ethics
CSC 400 - OS Theory and Design (Prerequisite: CSC 335)
CSC 422 - Database Design (Prerequisite: CSC 300)
CSC 430 - Programming Languages (Prerequisite: CSC 300)
CSC 436 - Comp. 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 Appli. Development
(Prerequisite: CSC 242 or CSC 262)
CSC 450 - Artificial Intelligence (Prerequisite: CSC 335)
CSC 451 - AI 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 core courses)
CSC 480B - Computer Science Project II (Prerequisite: CSC 480A)