Master of Science in Computer Science

The program objectives of the master's degree in Computer Science are:

  • To prepare you for the increasingly sophisticated application of computers to the needs of industry and society;
  • To prepare you for research, teaching, and further graduate studies in computer science;
  • To prepare you for leadership roles in your industry career;
  • To provide you with graduate level course work in computer science that supplements the curriculum in other disciplines.

Elective Courses 

You must take at least five elective courses at 400- or 500-level; at least two of these courses must be at the 500-level.  Any 400 level course on the study plan cannot be similar in content to a course taken as an undergraduate. For a complete list of 400- or 500-level courses, please refer to the undergradaute and graduate catalog.

In addition, you should choose elective courses, one course each from three of the four categories below. In particular, these lists may not cover newly created courses. Depending on the focus, a course may be listed in more than one area.

Software Engineering

  • CPSC 541  Systems and Software Standards and Requirements
  • CPSC 542  Software Verification and Validation
  • CPSC 543  Software Maintenance
  • CPSC 544  Advanced Software Process
  • CPSC 545  Software Design and Architecture
  • CPSC 546 Modern Software Management
  • CPSC 547  Software Measurement
  • CPSC 548  Professional, Ethical, and Legal Issues for Software Engineers

Computer Applications

  • CPSC 531 Advanced Database Management
  • CPSC 566 Advanced Computer Graphics
  • CPSC 583 Expert Systems and Design Theory
  • CPSC 585 Artificial Neural Networks

Computer Systems

  • CPSC 551 Operating Systems Design
  • CPsC 552 Cyber Forensics
  • CPSC 558 Advanced Computer Networking

Theoretical Computer Science

  • CPSC 535 Advanced Algorithms


Course descriptions can be found in the Course Catalog, http://catalog.fullerton.edu. Courses offered by other departments related to the student’s objectives in Computer Science may be included on the Study Plan if approved by the Graduate Advisor.

Open University

If you wish to take courses without a degree objective, and meet the prerequisites, you may enroll through Open University (Extended Education) Opens in new window if there is space available in the class. Foundational Breadth Requirement courses can be taken through Open University.  However, no more than 9 Study Plan units can be taken before entering the Master’s program, and Open University courses are included in this category, so please talk with an advisor before taking 400 and 500 level classes through Open University. 

Graduate Standing

If you have not taken a fundamental core of undergraduate courses in computer science, you were sent a worksheet listing the Foundational Breadth Requirement courses you need to take before taking Master’s program courses. Appendix A of the  Graduate HandbookPDF File Opens in new window  shows the worksheet used to assess, plan, and record the needed Foundational Breadth courses.

If you received a Bachelor’s degree in Computer Science, you probably do not need to take any Foundational Breadth courses.

When you successfully complete all of the foundational breadth requirement courses, you are eligible to be classified. You must make an appointment with an advisor and prepare a formal Study Plan. When the Study Plan has been submitted by the Computer Science Department and approved by the Associate Vice President of Academic Affairs or designee at the CSUF Graduate Studies Office, you will be sent a signed copy of the Study Plan and be officially classified.  The University expects you to be classified before finishing more than 13 units of Study Plan courses, which means before the end of your second semester.

Foundational Breadth Requirement Courses

Computer Science Courses

  • CPSC 121  Object-Oriented Programming
  • CPSC 131  Data Structures
  • CPSC 240  Computer Organization and Assembly Language
  • CPSC 323  Compilers and Languages
  • CPSC 335  Algorithm Engineering
  • CPSC 351  Operating Systems Concepts
  • CPSC 362  Foundations of Software Engineering

Mathematics Courses

  • MATH 270A Mathematical Structures I
  • MATH 270B  Mathematical Structures II
  • MATH 338  Statistics Applied to Natural Sciences 

University Writing Requirement

This requirement can be satisfied by taking and earning a C or better in CPSC 597 (Project) or CPSC 598 (Thesis). 

Classified Standing

When you successfully complete all of the foundational breadth requirement courses, you are eligible to be classified. You must make an appointment with an advisor and prepare a formal Study Plan. When the Study Plan has been submitted by the Computer Science Department and approved by the Associate Vice President of Academic Affairs or designee at the CSUF Graduate Studies Office, you will be sent a signed copy of the Study Plan and be officially classified.  The University expects you to be classified before finishing more than 13 units of Study Plan courses, which means before the end of your second semester.

Conditionally Classified Standing

All students are initially admitted as conditionally classified. You are eligible to become classified if you have no foundational breadth requirement courses to take or have successfully completed them.

Graduate Study Plan

What is a Study Plan?   It is NOT just a plan you make of which courses to take when. It is a formal list of the 10 courses (30 units) that will make up your graduate program.  It must satisfy certain University and Departmental rules, and every Study Plan must be approved by the Graduate Advisor and the Associate Vice President of Research (or designee). It should be submitted before completing more than 13 units of study plan eligible coursework (not including any foundational breadth courses). Each course on the study plan must be completed with a grade of “C” or better. When you apply for graduation, this is the document that the University will use to decide to award you the Master’s Degree.  Once the study plan has been approved, you must file a “Study Plan Change Request” form with the Computer Science Department if you want to make any changes.

Your Study Plan cannot include any 400 level course whose content is similar to a course you took as an undergraduate and was credited toward your bachelor’s degree.

Graduate Seminar

In the Graduate Seminar (CPSC 589) students will do individual research into topics that can be the basis of a Master degree project or thesis.   Research techniques, presentation skills, and contemporary research areas and topics are covered.  Students will prepare a project proposal that can be used for their project or thesis.

Passing the University Writing requirement is a prerequisite to taking this course, and CPSC 589 is a prerequisite to the Project course (CPSC 597) and the Thesis course (CPSC 598).

Project / Thesis

To complete the graduate program, you must complete either CPSC 597 Project or CPSC 598 Thesis. A project is a significant development undertaking that shows originality and independent thinking. A thesis is a written description of the systematic study of a significant problem covering the gathering and analysis of information and including a conclusion or recommendation.

Independent Graduate Research

You may take CPSC 599 Independent Graduate Research to fulfill part of your electives. This course allows you to pursue topics of special interest beyond those of a regular course. It cannot cover the same topic as your project or thesis.

You must submit an Application For Independent Study to the department office, which will supply the form. The application must include a study plan and objectives, and must be approved by a supervising full time faculty member and by the department chair.

You may take up to three units per semester, and apply a maximum of three units towards the degree. The University allows a maximum of six units, but the Computer Science Department allows only three units.

You will not be able to register on-line for this course until the Computer Science Department Office grants permission to do so. You should call to verify that this has been done.

Transfer Credit

At least 21 semester units must be taken in residence. Transfer credits and Cal State Fullerton extension credits are not residence units.

No more than 9 units of transferable course work can be accepted from another institution and applied to the 30 required units on the Study Plan.

Continuous Enrollment

You must remain enrolled for every semester of your graduate program. If circumstances require, you may apply for a Leave of Absence. The form may be obtained from Admissions and Records, and is submitted to the University Graduate Office. If you don't enroll for courses each semester of your graduate program, and you haven't been granted a Leave of Absence, you will be dropped from the graduate program and you will have to reapply for admission.

Duration of Study

All study plan courses should be completed within 10 semesters. If you find that this is not possible, you must file for a two-year extension.

Milestones

Here are the important milestones you must go through in order to progress:

  1. Finish all breadth requirement courses if you were told you needed them. If you needed such courses, you were sent a worksheet listing what you needed to take. Do not take courses for the Study Plan unless you are also finishing all your breadth requirement courses at the same time. All breadth requirement courses must be passed with at least a C-.
  2. Submit a Study Plan, get it approved, and become a classified graduate student. This should be done before you take more than 4 courses that will be on the Study Plan. If you have no breadth requirement courses, this will mean it should be done during the second semester or at the latest, before the start of the third semester. Added bonus for becoming classified: you should get an earlier registration time for the next semester if you become classified early enough.
  3. Take CPSC 589, the Graduate Seminar.
  4. Take CPSC 597 (Project) or 598 (Thesis). Passing CPSC 589 and being classified are both absolute prerequisites for taking either course.

This means is that if you wish to graduate in four semesters, you must take CPSC 589 in the third semester at the latest. If you want to finish in three semesters, you must take CPSC 589 in the second semester. While a few students who come with no foundational breadth courses to take have finished in three semesters, it takes luck as well as hard work to get the courses you want to take at the time you want to take them. It is better to plan on four semesters to get through the 30-unit Master’s program.

Applying for Graduation

You should file a Request for Graduation Check through Titan Online accessed from your Student Portal one semester before your expected date of graduation. The Graduation Check and your Graduate Study Plan will be sent to the Computer Science Department during that semester.

The Graduate Advisor will determine if your study plan has been satisfactorily completed, and will send a recommendation to the University Graduate Office, who will then inform you of the results.

If you change your study plan, you must file a Request for Change in Study Plan form, which you can obtain from the Computer Science Department or downloaded from the Office of Graduate Studies website.  If you do not keep your study plan up to date, your graduation could be delayed.