This is an archive of the 2014-2015 University Catalog.
To access the most recent version, please visit catalog.csun.edu.

This is an archive of the 2014-2015 University Catalog.
To access the most recent version, please visit catalog.csun.edu.

Program: B.S., Computer Science

Overview

The B.S. Degree in Computer Science provides a broad knowledge of computing and is designed for students who desire: (a) to pursue graduate work in computer science; and (b) to work on the development and support of software projects in a diverse range of specialized areas. The Computer Science degree consists of a Pre-Major followed by additional Foundation courses and a 15-unit Senior Electives package. The Core of the program covers programming languages, computer system organization, operating systems, data structures, computation theory and societal implications in computing. The Senior Electives package allows students to specialize in such fields as artificial intelligence, embedded applications, networking, gaming, graphics, software engineering and security.

Program Requirements

To qualify for admission into the Computer Science major program, students must first complete a Pre-Major program in Computer Science consisting of seven Lower Division courses covering math, computer science and the University General Education requirements for Basic Skills.

Grade Requirements for Admission into the Computer Science Major Program

  1. C or better in each of the seven courses taken to satisfy the requirements of the Computer Science Pre-Major program; and
  2. Overall GPA of 2.0 in all courses taken at CSUN.

After successfully completing all requirements for the Pre-Major in Computer Science (including GE Basic Skills), students may apply for admission into the Computer Science major program by completing a Pre-Major to major evaluation form available from the Computer Science Department office. Admission into the Computer Science major program is required prior to enrolling in Upper Division Computer Science courses.

Special Grade Requirements

Note: No grade lower than a C will be accepted on transfer from another institution to satisfy Computer Science requirements. Where specific grade requirements are not specified, no CSUN grade lower than a C- will be accepted for courses required in the Computer Science program.

1. Lower Division Required Courses (36 units)

a. The following seven Lower Division courses constitute the Computer Science Pre-Major program:
Two courses in General Education Basic Skills:

Analytical Reading/Expository Writing

Oral Communication

Note: The remaining components of GE Basic Skills are satisfied by the requirements of the Computer Science program.

COMP 110/L Introduction to Algorithms and Programming and Lab (3/1)
COMP 122/L Computer Architecture and Assembly Language and Lab (1/1)
COMP 182/L Data Structures and Program Design and Lab (3/1)
MATH 150A Calculus I (5)
PHIL 230 Introduction to Formal Logic (3)

b. The following five Lower Division courses are part of the requirements of the Computer Science Major program.

Prior to enrolling in these courses, students must complete all of the Computer Science Pre-Major requirements listed above. Computer Science Pre-Major students may not enroll in the following courses without the consent of the instructor.

COMP 222 Computer Organization (3)
COMP 256/L Discrete Structures for Computer Science and Lab ( 3/1)
COMP 282 Advanced Data Structures (3)
MATH 150B Calculus II (5)
MATH 262 Introduction to Linear Algebra (3)

2. Lower Division Electives (12-14 units)

Select one of the following science sequences (8-10 units)

BIOL 106/L Biological Principles I and Lab (3/1), BIOL 107/L Biological Principles II and Lab (3/1)
CHEM 101/L General Chemistry I and Lab (4/1), CHEM 102/L General Chemistry II and Lab (4/1)
PHYS 220A/AL Mechanics and Lab (3/1), PHYS 220B/BL Electricity and Magnetism and Lab (3/1)

Note: BIOL 107/L has a recommended prerequisite of CHEM 101/L.

Select an additional science course with corresponding lab outside of the sequence selected above (4-5 units)

BIOL 106/L Biological Principles I and Lab (3/1)
CHEM 101/L  General Chemistry I and Lab (4/1)
GEOG 101 and 102 The Physical Environment and Lab (3/1)
GEOG 103 and 105 Weather and Lab (3/1)
GEOL 101/102 Geology of Planet Earth and Lab (3/1)
GEOL 110/112 Earth and Life through Time and Lab (3/1)
PHYS 220A/AL Mechanics and Lab (3/1)

3. Upper Division Required Courses (24 units)

Before taking Upper Division courses in Computer Science, students must be admitted to the Computer Science major/minor programs or the Computer Engineering major program.

Note: All students must attempt the Upper Division Writing Proficiency Exam prior to enrolling in any 400-level Computer Science course. The Upper Division Writing Proficiency Exam must be passed prior to enrolling in COMP 490/L.

COMP 310 Automata, Languages and Computation (3)
COMP 322/L Introduction to Operating Systems and System Architecture and Lab (3/1)
COMP 333 Concepts of Programming Languages (3)
COMP 380/L Introduction to Software Engineering and Lab (2/1)
COMP 490/L Senior Design Project and Lab (3/1)
COMP 491L Senior Project Lab (1)
MATH 482 Combinatorial Algorithms (3)

Select one of the following:

MATH 340 Probability (3)
MATH 341 Applied Statistics I (3)

4. Upper Division Electives (15 units)

Computer Science majors are required to take 15 units of Senior Electives.

The Senior Electives must consist of 15 units of 400- or 500-level courses in computer science (not COMP 450, 480/L, 490/L, 491L, 494 or 499). The electives may include MATH 481A (Numerical Analysis) as 3 of the 15 units.

Requests for taking a 400- or 500-level course as a Senior Elective that does not meet the requirements stated above must be approved by the student’s faculty advisor and by the Department Chair prior to enrollment in the course.

It is strongly recommended that students discuss their career goals with an advisor prior to selecting their Senior Electives. The advisor will suggest appropriate courses for the student to consider.

General Education

Computer Science majors follow a modified General Education program depending upon the year they enter the program and their enrollment status as a college student. Returning and transfer students should consult an advisor before planning their General Education programs. The requirements for students entering in Fall 2006 or later under the new GE Plan are described here. Computer Science students are required to take courses in the following GE sections: Analytical Reading and Expository Writing (3 units); Oral Communication (3 units); Social Sciences (6 units); Arts and Humanities (6 units); Comparative Cultural Studies (6 units); and U.S. Government and History (6 units). 9 units of the GE requirements must be Upper Division (300-plus) courses that are certified as writing intensive. Two GE courses must meet the Information Competence requirement. All other GE requirements are met through completion of courses in the major.

Total Units in the Pre-Major and Major: 87-89

General Education Units: 30

Additional Units: 1-3

Total Units Required for a B.S. Degree: 120

Contact

Chair: Richard Covington
Jacaranda Hall (JD) 4503
(818) 677-3398
www.csun.edu/compsci

Student Learning Outcomes

Students who successfully complete the Bachelor of Science Program in Computer Science will be able to:

  1. Apply knowledge of computing and mathematics appropriate to the discipline.
  2. Analyze a problem and specify the computing requirements appropriate to meet desired needs.
  3. Apply knowledge of programming concepts, algorithmic principles and data abstraction to design, implement and evaluate the software necessary to solve a specified problem.
  4. Function effectively on teams to accomplish a common goal.
  5. Understand professional, ethical, legal, security and social issues and responsibilities.
  6. Communicate effectively with a range of audiences.
  7. Analyze the local and global impact of computing on individuals, organizations and society.
  8. Recognize the need for and demonstrate an ability to engage in continuing professional development.
  9. Use current techniques, skills and software development tools necessary for programming practice.
  10. Model and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.
  11. Apply software engineering principles and practices in the construction of complex software systems.