Program: M.S., Computer Science
Students in the Computer Science M.S. program complete 30 units of graduate work, including a 6-unit thesis. The core of the program comprises advanced courses in computation theory, algorithms and data structures, system architecture, computer networking and software engineering. The electives may be chosen to form a concentration in an area of specialization or to provide a broadly based program of study, whichever is more consistent with the selected thesis.
A. Requirements for Admission
For admission to the Master of Science program in Computer Science, applicants must meet the requirements of the University as listed in this Catalog, take the Graduate Record Examination (GRE), submit the results to the University and be accepted to the program by the Computer Science department. Each applicant’s transcripts and GRE scores will be reviewed by the Computer Science department to determine if the student shows high promise of success in the program. Applicants who have completed an ABET-accredited Computer Science Bachelor of Science program with a GPA of 3.0 or better and have met all other entry requirements are exempt from the GRE requirement.
Requirements for Classified Status
To attain fully classified graduate status in the program, students must complete any required prerequisite undergraduate material and have a 3.0 GPA for all work taken as a conditionally classified student. Information about the prerequisite material can be obtained from the graduate coordinator.
B. Degree Requirements
All courses in the student’s graduate program must be completed with a grade of “C” or better. No course taken more than 7 years prior to the date of which all requirements for the degree are completed may be counted as part of the 30 units in the degree program. No time limit applies to courses taken to satisfy Computer Science M.S. prerequisite requirements.
1. Required Courses (18 units)
a. Breadth Requirement (12 units)
Select four of the following five areas of study and complete one course from each of those four areas. The areas of study and the courses available for selection in each area are shown below:
COMP 615 Advanced Topics in Computation Theory (3)
COMP 630 Formal Semantics of Programming Languages (3)
b. Culminating Experience (6 units)
Each Computer Science M.S. candidate must submit a proposal for a thesis to be done under the supervision of a faculty member. When the thesis is approved by that faculty member, the graduate coordinator and the department chair, the proposal becomes a contract between the student and the department as to the work to be done for the thesis. A three-member thesis committee is formed with that faculty member as its chair. When the work is done, the student must prepare a report and defend or present the results of the thesis before the committee. The report and presentation must be approved by the student’s thesis committee.
2. Electives (12 units)
Computer Science courses at the 400-, 500- or 600-level (not COMP 450, 480/L, 482, 490/L, 491L, 492, 494, 499, 696, 698 and 699).
Requests for elective courses that do not meet the requirements stated above must be approved by the student’s thesis committee chair, the department graduate coordinator and the department chair prior to course enrollment. The student’s thesis committee chair may require that specific elective courses be taken prior to enrollment in COMP 696 and COMP 698. Students should seek approval from their committee chair prior to enrolling in elective courses. At least 6 units must be at the 500-level or above.
Total Units Required for the M.S. Degree: 30
Department of Computer Science
Chair: Adam Kaplan
Jacaranda Hall (JD) 4503
Graduate Coordinator: Ani Nahapetian
Student Learning Outcomes
Graduates of the Master of Science in Computer Science at CSUN will be able to:
- Demonstrate a knowledge and competence in such fundamental areas of computer science as algorithms, design and analysis, computational theory, computer architecture and software-based systems.
- Demonstrate the analytic skills necessary to effectively evaluate the relative merits of software and computer systems and algorithmic approaches.
- Demonstrate a breadth of knowledge in a choice of application areas in computer science, including networks, artificial intelligence, graphics, human computer interfaces, databases, embedded applications and information security.
- Understand computer science topics (such as database management, data security, program efficiency, etc.) in a global context (ethics, privacy, human expectations, etc.).
- Effectively communicate in both written and oral form, especially in areas related to computer science.
- Work productively in team or collaborative settings to achieve common goals or purposes, including the ability to lead a team.
- Analyze, evaluate and synthesize research and apply theoretical ideas to practical settings.
- Independently continue studies in computer science throughout their lives.