Degree Requirements for the MS in Computer Science

Whenever possible, CSC course numbers below link to full course outlines in PDF format. (Although they are the most recent formal descriptions available, they may not reflect the current textbooks being used or the faculty member currently teaching the course. Students should check with the department office if they have questions about textbooks or instructors.)

Courses without full outlines are linked to catalog descriptions.

A.  Required Courses (13 Units)

Units

Course #

Course Title and Prerequisite

3

CSC 201

Programming Language Principles (fully classified graduate status in Computer Science or Software Engineering)

3

CSC 204*

Data Models for Database Management Systems (fully classified graduate status in Computer Science or Software Engineering)

3

CSC 205*

Computer Systems Structure (fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering)

3

CSC 206

Algorithms and Paradigms (fully classified graduate status in Computer Science or Software Engineering)

1

CSC 209

Research Methodology (fully classified graduate status in Computer Science or Software Engineering, a passing score on the Writing Proficiency Exam, completion of at least 12 units of 200-level courses in CSC)

*Students whose undergraduate preparation has covered a significant amount of the material in CSC 204 or 205 may be given a waiver by the department from taking one or more of these courses. In this case, for each course waived with department approval, the student must take three additional units of Restricted Electives, described in Section C below.

B.  Breadth Requirement (9 units)

Select one course from three of the following areas:

Computer Architecture/Computer Engineering

Units

Course #

Course Title and Prerequisite

3

CSC 237

Microprocessor Systems Architecture (CSC 205)

3

CSC 242

Computer-Aided Systems Design and Verification (CSC 205)

3

CSC 273

Hierarchical Digital Design Methodology (CSC 205 or CPE 64 or equivalent)

3

CSC 280

Advanced Computer Architecture (CSC 205 and fully classified graduate status in Computer Science or Software Engineering)

Database Management Systems

Units

Course #

Course Title and Prerequisite

3

CSC 212

Bioinformatics: Data Integration and Algorithms (CSC 130STAT 50, and graduate status; BIO 10 recommended)

3

CSC 244

Database System Design (CSC 174 or CSC 204)

Information Assurance and Security

Units

Course #

Course Title and Prerequisite

3

CSC 250

Computer Security (fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering)

3

CSC 252

Cryptography Theory and Practice (fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering)

3

CSC 253

Computer Forensics (fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering)

3

CSC 254

Network Security (fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering)

Intelligent Systems

Units

Course #

Course Title and Prerequisite

3

CSC 214

Knowledge-Based Systems  (fully classified graduate status in Computer Science or Software Engineering)

3

CSC 215

Artificial Intelligence (fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering)

3

CSC 219

Machine Learning (fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering)

Networks and Communications

Units

Course #

Course Title and Prerequisite

3

CSC 255

Computer Networks (CSC 138 or CPE 138)

3

CSC 258

Distributed Systems (CSC 204 and fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering)

3

CSC 275

Advanced Data Communication Systems (CSC 138 or CPE 138 or CSC 205)

Software Engineering

Units

Course #

Course Title and Prerequisite

3

CSC 230

Software System Engineering (fully classified graduate status in Computer Science or Software Engineering; OR fully classified graduate status in Computer Engineering and CSC 131)

3

CSC 231

Software Engineering Metrics (fully classified graduate status in Computer Science or Software Engineering)

3

CSC 232

Software Requirements Analysis and Design (fully classified graduate status in Computer Science or Software Engineering)

3

CSC 233

Advanced Software Engineering Project Management (fully classified graduate status in Computer Science or Software Engineering)

3

CSC 234

Software Verification and Validation (fully classified graduate status in Computer Science or Software Engineering; OR fully classified graduate status in Computer Engineering and CSC 131)

3

CSC 235

Software Architecture (fully classified graduate status in Computer Science or Software Engineering)

3

CSC 236

Formal Methods in Secure Software Engineering (fully classified graduate status in Computer Science or Software Engineering)

3

CSC 238

Human-Computer Interface Design (fully classified graduate status in Computer Science or Software Engineering)

System Software

Units

Course #

Course Title and Prerequisite

3

CSC 239

Advanced Operating Systems Principles and Design (CSC 205)

3

CSC 250

Computer Security (fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering)

3

CSC 251

Principles of Compiler Design (CSC 151 or CSC 201)

C.  Restricted Electives (3-6 units)

Prior to taking an elective course, students must obtain approval from their advisor, and either the Graduate Coordinator or the Department Chair. Students should choose their electives according to the following guidelines:

  1. One of the following upper-division courses: CSC 148CSC 155CSC 159CSC 165CSC 176CSC 177, as long as they have not been used toward another degree. (A maximum of six undergraduate units may be used in any graduate program.)
  2. Any 200-level CSC courses not already used to satisfy the breadth requirement, with the exception of CSC 295 and CSC 299. Students not required to take CSC 204 or CSC 205 must, for each course waived, take an additional three units in this category.
  3. Related 200-level courses from outside the Computer Science Department may only be taken with prior department approval and may not have been used in another program.

D.  Culminating Requirement (2-5 units)

Units

Course #

Course Title and Prerequisite

2-5

Select one of the following:

CSC 500

Master's Thesis (CSC 209; advanced to candidacy)

CSC 502

Master's Project (CSC 209; advanced to candidacy)

Students are required to make an oral presentation of their master's project or conduct an oral defense of their master's thesis. The recommended department-level deadline in each semester for submitting an MS project or thesis signed by the committee chair and its members to the Graduate Coordinator is 10 weekdays before the University deadline.

Back to top