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:
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
Program Learning Outcomes
Students receiving a Master of Science in Computer Science will be able to:
- 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.
- 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.