MASTER OF SCIENCE in Computer Science

The Master’s Program in Computer Science is a two year program in which a student must complete a required core of courses and additional concentration and general computer science elective courses. The curriculum for the Master of Science in Computer Science requires 36 semester credit units, and offers both a thesis option (30 semester credit units of coursework and 6 semester units of a thesis)and a non thesis option (33 semester credit units of coursework and 3 semester credit units of a project). Students may choose to obtain the degree in Computer Science with specialization in Software Engineering or Distributed Systems and Networking. The academic program is expected to culminate in master’s thesis or project. During the first semester of the program, the student should choose a major advisor who will assist him or her in the choice of elective courses. The major advisor will chair the student’s advisory committee for the thesis/project. Two additional members of the students’ graduate advisory committee will need to be selected. The graduate program can provide a strong background for future study in a doctoral program. It also provides graduate training as preparation for professional applicants. Students with a master’s degree in computer science are also prepared for a career in teaching and/or research. A majority of graduate classes are scheduled to accommodate late afternoon and evening classes.

Useful Links:

Program Learning Outcomes (PLO's)

PLO 1Demonstrate mastery in computer science research methods and software development approaches to create and evaluate projects and generate reports.  
PLO 2Demonstrate abilities of applying software engineering process to develop industry level applications to meet user requirements.  
PLO 3Successfully manage a software project from planning through implementation to evaluation and improvement.  
PLO 4Build solid foundation for software development through algorithm analysis and design and features of various programming languages.  
PLO 5-1 (Software Engineering Track)Master advanced software analysis and design techniques and utilize testing and measurement models to assure software product quality.   
PLO 5-2 (Distributed System Network Track)Master advanced distributed and parallel computing architecture and network and utilize advanced techniques for information assurance and network security.  


Students holding Bachelor’s degree in Computer Science are accepted as graduate students, provided they meet the general requirements stated below. Applicants NOT holding a degree in Computer Science are also accepted as graduate students, provided they meet the general requirements and successfully complete the leveling courses below.

  • An undergraduate degree from an accredited higher education institution.
  • A minimum GPA of 2.75 on a 4.0 scale.
  • A minimum TOEFL score of 550 (paper-based test) or 80 (iBT-internet based test) (for applicants whose native language is not English).
  • A minimum IELTS(Academic) Score of 6.5.
  • A minimum GRE General Test score of 293 (combined verbal and quantitative).

Prospective graduate students must :

  1. Submit an application to the University for Admissions (or readmission) with graduate standing, and official transcript of all previous college work following the procedures outlined in the Admissions section of the University Catalog.
  2. Submit to the Computer Science Graduate Program Coordinator:
    1. A second set of official transcripts;
    2. A letter to the department describing interests, goals, and expectations in pursuing
    3. Three letters of recommendations sent directly from individuals who can evaluate potential for graduate study;
    4. Verification of minimum GRE General Test score of 293 (combined verbal and quantitative) before the student has completed 9 semester units.

Student Enrollment and Graduation

Fall 2017Fall 2018Fall 2019Fall 2020Fall 2021

A student with a Bachelor of Science in Computer Science, with a GPA greater than 2.44 but less than 2.75 and/or GRE scored above 245 but less than 293, may first receive conditionally classified admission to the MS degree program. A conditionally classified student has one year to receive a minimum GRE score of 900 and a minimum GPA of 3.0 to change status to classified graduate student.

For leveling courses student need to submit the Credit/No Credit form within first three weeks from starting of semester.

A student with a Bachelor’s degree in discipline other than Computer Science must possess a computer science background equivalent to the following CSUDH courses:

  • CSC 311: Data Structures
  • CSC 321: Programming Language Concepts
  • CSC 331: Computer Organization
  • CSC 341: Operating Systems
  • MAT 281: Discrete Mathematics
  • MAT 361: Finite Automata
  • Proficiency in a programming language (or CSC 123 – Computer Science II )

A student without this background must enroll in these leveling courses before being accepted as a regular student in the graduate Computer Science program. Successful completion in these courses means a grade of ‘C’ or better in each leveling course.

Students entering the master’s program must maintain a grade of no less than ‘B’ in any course for their continuation in this program. Final decision on admission is made by the Computer Science Graduate Committee.

More information for International Students : Here

Total Units required for is program is 36 Units

Student may choose to obtain the degree specializing in following tracks:

  • Software Engineering(SE)
  • Distributed Systems and Networking (DSN)
Course descriptions can be found on the University Catalog link here
(A) Core Courses (15 UNITS)
CSC 500Research Methods
CSC 501Design and Analysis of Algorithms
CSC 521Fundamentals and Concepts of Programming Languages
CSC 581Advanced Software Engineering
CSC 584Software Project Planning
(B) Concentration (12 UNITS)
Software Engineering Track (SE Track)
CSC 541Advanced Operating
CSC 546Human Computer Interaction and Interface Design
CSC 582Object-Oriented Analysis and Design Methodology
CSC 583Software Engineering Process
CSC 585Advanced Software Quality Assurance
Distribution System Network (DSN Track)
CSC 531Advance Computer Architecture
CSC 541Advanced Operating System
CSC 551Data Communications and Parallel Processing
CSC 552Distributed Computing and Parallel Processing
CSC 555Information Assurance and Network Security
(C) Electives (3-6 UNITS)
CSC 594Independent Study
CSC 595Special Topics in Computer Science
CSC 541Advanced Operating System
CSC 582Object-Oriented Analysis and Design Methodology
CSC 583Software Engineering Processes
CSC 585Advanced Software Quality Assurance
CSC 551Data Communication and Computer Networks
CSC 552Distributed Computing and Parallel Processing
CSC 555Information Assurance and Network Security
CSC 551Artificial Intelligence and Expert System
CSC 531Advanced Computer Graphics
CSC 564Numerical Analysis
CSC 565Theory of Computation
(C) Thesis/ Project(3-6 UNITS)
1. Thesis Option (6 UNITS)
CSC 599Master's Thesis
CSC 599Master's Thesis
2. Project Option (3 UNITS)
CSC 590Master's Project

Contact : Dr. Brad Hollister (

  • Browser-based visual editor for .blend file data structures
  • Implementation & quantitative comparison between PCA-based streamlines clusters & probabilistic streamline ranking
  • Augmented reality visualization of coupler-curves generated from tracking 3D printed planar linkages
  • Augmented reality visualization of scalar pressure fields in simulated room temperature gradients
  • Augmented reality visualization of scalar pressure fields with simulated room (vibrational) elements
  • Construction of bread-board CPU and demonstration
  • Simulation & visualization of light diffraction in two-dimensional gratings (optical transforms) for virtual reality
  • Implementation & back-testing of algorithmic trading strategies in multiple financial markets
  • Tracking orientation of faceted real object relative to custom coordinate system for augmented reality

Frequently Asked Questions

Coming Soon. Thank you.